@RequestMapping(value = "value")
public void downloadEQCSModel(HttpServletRequest request,HttpServletResponse response,HttpSession session) throws IOException {
String file_name = "机台接触脚位模板.xlsx"; //要下载的文件名
if(file_name == null){
file_name="";
}
String url = session.getServletContext().getRealPath("/") + "excelFile\\机台接触脚位模板.xlsx";
System.out.println("filedownload =" + url);
response.setContentType("application/octet-stream");
if (request.getHeader("user-agent").toLowerCase().indexOf("firefox") > -1) {
//火狐浏览器自己会对URL进行一次URL转码所以区别处理
response.setHeader("Content-Disposition", "attachment;filename="
+ new String(file_name.getBytes("utf-8"), "ISO-8859-1"));
} else {
response.setHeader("Content-Disposition", "attachment;filename="
+ URLEncoder.encode(file_name,"utf-8")); }
//新建文件输入输出流
OutputStream output = null;
FileInputStream fis = null;
try{
File f = new File(url);//新建File对象
output = response.getOutputStream();//新建文件输入输出流对象
fis = new FileInputStream(f);
byte[] b = new byte[(int)f.length()]; //设置每次写入缓存大小
//把输出流写入客户端
int i = 0;
while((i = fis.read(b)) > 0){
output.write(b, 0, i);
}
output.flush();
}
catch(Exception e){
e.printStackTrace();
}
finally
{
if(fis != null)
{
fis.close();
fis = null;
}
if(output != null)
{
output.close();
output = null;
}
}
}
java 实现 Excel下载
最新推荐文章于 2024-08-29 03:49:18 发布