文件导出_TXT、EXCEL:文件下载,直接流写出

web项目中,文件导出一般都是直接调用浏览器的下载。这里采用流写出,是为了不在服务器上保留文件占用空间。

流写出时,关键是配置response的三个属性:编码、类型、头文件

1、ContentType:传输文件类型

application/octet-stream------------------自动匹配文件类型

application/force-download--------------强制下载

text/pain---------------------------------------文本文件

application/vnd.ms-excel-----------------excel文件

2、CharacterEncoding:编码采用通用的UTF-8

3、Header:setHeader(name,value),有两个参数

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

示例:

response.setContentType("application/vnd.ms-excel");

response.setCharacterEncoding("UTF-8");

response.setHeader("Content-Disposition","attachment;filename=problems"+AMDateUtil.date2String(new Date(),"yyyyMMdd")+".xlsx");

讲得如此肤浅,喜欢深挖的朋友们可以自行查看api。

 

备注:下载时文件名称中文乱码,暂采用的方式是避免中文交互。

在此还提供一文件下载的思路,即先生成文件链接再行下载。

你可能感兴趣的:(Java)