文件导出_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),有两个参数
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
示例:
【文件导出_TXT、EXCEL(文件下载,直接流写出)】response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-Disposition","attachment; filename=problems"+AMDateUtil.date2String(new Date(),"yyyyMMdd")+".xlsx");
讲得如此肤浅,喜欢深挖的朋友们可以自行查看api。

备注:下载时文件名称中文乱码,暂采用的方式是避免中文交互。
在此还提供一文件下载的思路,即先生成文件链接再行下载。

    推荐阅读