1. 程式人生 > >java web 匯出excel

java web 匯出excel

這篇部落格再次記錄一下匯出excel; 收到一個改一個excel匯出的任務,於是很自然的去參考上一篇部落格。
https://blog.csdn.net/qq_35529931/article/details/81988802
結果匯出excel後,裡面的內容卻一直是亂碼。於是一度認為是字符集沒有設定,各種設定都沒有效果。於是改成了英文,發現下載下來的卻也是亂碼。可以得出結論,不是亂碼的問題了。改成英文開啟,如下圖;在這裡插入圖片描述
於是參考了另一篇部落格。記錄一下。
前端的寫法,沒有改變。用的原來的。
在這裡插入圖片描述
後臺的寫法 也很簡單。由於是匯出模板,沒有從資料庫查詢。
程式碼如下:
public void exportEnterStockDetailTemplate(HttpServletResponse response) throws IOException{
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet(“物資入庫匯出模板”);
String fileName = null;
try {
fileName = new String(“物資入庫匯出模板.xls”.getBytes(“utf-8”), “iso-8859-1”);
} catch (UnsupportedEncodingException e) {
throw new RuntimeException(“字元編碼格式不支援,” + e);
}
// 新增資料行,並且設定單元格資料
String[] headers = { “操作”, “入庫數量”, “物資名稱”, “品牌”, “型號”,
“單位”, “入庫單價”, “有效期”, “供應商”, “” + “位置”};
// headers表示excel表中第一行的表頭
HSSFRow row = sheet.createRow(0);
for(int i=0;i<headers.length;i++){
HSSFCell cell = row.createCell(i);
HSSFRichTextString text = new HSSFRichTextString(headers[i]);
cell.setCellValue(text);
}
response.setContentType(“application/octet-stream”);
response.setHeader(“Content-disposition”, “attachment;filename=” + fileName);
response.flushBuffer();
workbook.write(response.getOutputStream());
}

這樣就可以了。主要是設定了表名的中文,以及頭部的設定。
在這裡插入圖片描述
這次記錄完成。這是第二種spring boot匯出excel的方法!!!