檔案匯出_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。
備註:下載時檔名稱中文亂碼,暫採用的方式是避免中文互動。
在此還提供一檔案下載的思路,即先生成檔案連結再行下載。