public void export(HttpServletRequest request, HttpServletResponse response,List<String> dataList,String name){
try {
// 作用是指定對服務器響應進行重新編碼的編碼
response.setCharacterEncoding("utf-8");
SimpleDateFormat dfs = new SimpleDateFormat("yyyyMMddHHmmss");// 設置日期格式
Date time = new Date();
String tStamp = dfs.format(time);
//設置文件名稱
String filename = URLEncoder.encode(name+tStamp + ".csv","utf-8");
// response.setHeader用來設置返回頁面的頭 meta 信息 參數上網找
response.setHeader("contentType", "text/html; charset=utf-8");
// 作用是使客戶端瀏覽器,區分不同種類的數據,並根據不同的MIME調用瀏覽器內不同的程序嵌入模塊來處理相應的數據。
response.setContentType("application/octet-stream");
response.addHeader("Content-Disposition", "attachment; filename="+filename);
// 新建一個file對象
File file = new File(filename);
// 獲取response的字符輸出流對象
// PrintWriter是一種過濾流
PrintWriter writer = response.getWriter();
if(dataList!=null && !dataList.isEmpty()){
// 向流內寫入數據
for(String data : dataList){
writer.print(data);
writer.print("\n");
}
}
// 關閉過濾流
writer.close();
} catch (Exception e) {
// TODO 自動生成的 catch 塊
e.printStackTrace();
}
}
自己寫的簡單csv文件下載
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.