@RequestMapping("downLoadExcel")
public String downLoadExcel(HttpServletRequest request,HttpServletResponse response){
try {
//路径
String path = request.getSession().getServletContext().getRealPath("/template/");
//下面的两行设置响应头,必须设置,以弹框的形式下载 中文乱码记得要转码啊!!!!!!!!!!!!!
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;fileName="+new String("指数模板.xlsx".getBytes(),"ISO8859-1"));//
ServletOutputStream out;
//File.separator 文件夹的分割线,不同的操作系统之间可以通用
File file = new File(path+File.separator+ "指数模板.xlsx");
FileInputStream inputStream = new FileInputStream(file);
out = response.getOutputStream();
int len= 0;
byte[] buffer = new byte[1024];
while ((len=inputStream.read(buffer))!=-1){
out.write(buffer,0,len);
}
inputStream.close();
out.close();
out.flush();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
转载于:https://www.cnblogs.com/feixian/p/5960210.html
本文提供了一个使用Java实现的导出Excel文件的示例代码,详细展示了如何通过设置响应头来解决中文乱码问题,并使用FileInputStream读取本地Excel模板,最后通过ServletOutputStream将文件输出到客户端。

被折叠的 条评论
为什么被折叠?



