java 文件下载(含POI)
2014-06-05 16:05
197 查看
// 按组联系导出联系人(把文件先通过poi上传到服务器的目录,在去服务器下载到(另存为的目录))
public ActionForward exportByGroup(ActionMapping
mapping, ActionForm form,
HttpServletRequest
request, HttpServletResponse response)
throws
Exception {
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
// Excel 文件存放在服务器的相对路径下
String outputFile =
request.getRealPath("/tmp");
File folder = new
File(outputFile);
folder.mkdirs();
System.out.println("导出时服务器端文件保存的位置为:"
+ outputFile);
HttpSession session =
request.getSession();
LinkmanForm linkmanForm =
(LinkmanForm) form;
Page page =
linkmanForm.getPage();
List<Linkman>
list = null;
String file = "";
try {
Integer pid =
(Integer) session.getAttribute("groupid");
String
groupid = pid.toString();
list =
null;
if (pid == 0
|| "".equals(groupid)) {
page
= manService.queryNull(page);
list=manService.queryNullAll();
} else
{
page
= manService.queryByGroup(groupid,page);
list=manService.queryByGroupAll(groupid);
}
file =
LinkMan_excel.getPayExcel(list, outputFile);
} catch (Exception e) {
e.printStackTrace();
}
file =
file.replace("\\", "/");
//转码,重点(防止文件名乱码)
String fileName =
URLEncoder.encode(file.substring(file
.lastIndexOf("/")
+ 1, file.length()), "UTF-8");
ServletOutputStream sos =
response.getOutputStream();
FileInputStream fis =
null;
try {
//重点
response.reset();
response.setHeader("content-disposition",
"attachment;filename="
+
fileName);
//
response.setContentType("application/vnd.ms-excel");//此项内容随文件类型而异
response.setContentType("APPLICATION/OCTET-STREAM");
byte temp[] =
new byte[1000];
fis = new
FileInputStream(file);
int n =
0;
while ((n =
fis.read(temp)) != -1) {
sos.write(temp,
0, n);
}
} catch (Exception e) {
e.printStackTrace();
}
fis.close();
sos.flush();
sos.close();
request.setAttribute("page",
page);
return
mapping.findForward("list.view");
}
public ActionForward exportByGroup(ActionMapping
mapping, ActionForm form,
HttpServletRequest
request, HttpServletResponse response)
throws
Exception {
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
// Excel 文件存放在服务器的相对路径下
String outputFile =
request.getRealPath("/tmp");
File folder = new
File(outputFile);
folder.mkdirs();
System.out.println("导出时服务器端文件保存的位置为:"
+ outputFile);
HttpSession session =
request.getSession();
LinkmanForm linkmanForm =
(LinkmanForm) form;
Page page =
linkmanForm.getPage();
List<Linkman>
list = null;
String file = "";
try {
Integer pid =
(Integer) session.getAttribute("groupid");
String
groupid = pid.toString();
list =
null;
if (pid == 0
|| "".equals(groupid)) {
page
= manService.queryNull(page);
list=manService.queryNullAll();
} else
{
page
= manService.queryByGroup(groupid,page);
list=manService.queryByGroupAll(groupid);
}
file =
LinkMan_excel.getPayExcel(list, outputFile);
} catch (Exception e) {
e.printStackTrace();
}
file =
file.replace("\\", "/");
//转码,重点(防止文件名乱码)
String fileName =
URLEncoder.encode(file.substring(file
.lastIndexOf("/")
+ 1, file.length()), "UTF-8");
ServletOutputStream sos =
response.getOutputStream();
FileInputStream fis =
null;
try {
//重点
response.reset();
response.setHeader("content-disposition",
"attachment;filename="
+
fileName);
//
response.setContentType("application/vnd.ms-excel");//此项内容随文件类型而异
response.setContentType("APPLICATION/OCTET-STREAM");
byte temp[] =
new byte[1000];
fis = new
FileInputStream(file);
int n =
0;
while ((n =
fis.read(temp)) != -1) {
sos.write(temp,
0, n);
}
} catch (Exception e) {
e.printStackTrace();
}
fis.close();
sos.flush();
sos.close();
request.setAttribute("page",
page);
return
mapping.findForward("list.view");
}
相关文章推荐
- Java Web应用下载文件以及下…
- java&nbsp;文件打开图片并显示的界面和…
- java 读取xml文件并输出
- java&nbsp;socket通信-传输文件图…
- Java: IE & Firefox下载文件中文乱码的兼容代码
- JavaWeb之文件上传与下载&邮件技术(十八)
- Java Struts2 POI创建Excel文件并实现文件下载
- iOS下载文件,保存路径.&nbsp;防止…
- Java IO流读写文件
- java 获取路径与各文件目录的…
- Java用cmd&nbsp;&nbsp;执行命令&nbsp;关于文件路径…
- java 实现指定文件的复制和 拷贝
- Flex+Java组合解决汉字或特殊符号(如&等)文件下载时的文件名乱码问题
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<servlet_文件下载>(二十七)
- java 生成pdf文件(转,测试…
- Java 读文件:FileInputStre…
- java xml文件操作(转)
- java 生成pdf文件 注解
- java 利用 poi 生成 Excel文件与spring使用文件流形式下载文件
- Myeclipse&nbsp;java程序打包成jar文件