1. 程式人生 > >EasyExcel匯出小結:動態標題、標題格式、相同值合併

EasyExcel匯出小結:動態標題、標題格式、相同值合併

## 1. 實列相關依賴 ```java ``` ## 2.EasyExcel匯出常見的兩種方式: **1.根據路徑儲存到磁碟:** **2.響應Response,使用者直接網頁下載:** 正常分為三個步驟: (1)構建一個`ExcelWriter`物件。 (2)再次通過`write`方法寫入資料。 (3)呼叫EasyExcel的`finish`。 **根據路徑儲存示例:** ```java private ExcelWriter excelWriter; public EasyExcelHelper(String path) { excelWriter = EasyExcel.write(path).build(); //固定的excel標題: //Class類的屬性必須使用`ExcelProperty`註解修飾。 //EasyExcel.write(path, Class).build() } //儲存到本地磁碟 excelWriter.finish(); ``` **響應Respones示例:** ```java private ExcelWriter excelWriter; public EasyExcelHelper() { excelWriter = new ExcelWriterBuilder() .excelType(ExcelTypeEnum.XLSX) .needHead(true) .build(); } public void export(HttpServletResponse response,String fileName ) { final String exportName = fileName + ExcelTypeEnum.XLSX.getValue(); response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); response.setCharacterEncoding(StandardCharsets.UTF_8.name()); try { excelWriter.finish(); response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode(exportName, StandardCharsets.UTF_8.name())); response.setHeader(HttpHeaders.CONTENT_LENGTH, String.valueOf(dataBytes.length)); } catch (IOException e) { log.error(e.getMessage(), e); throw new ApiException(ErrorEnum.DOWNLOAD_ERROR); } } ``` ## 3.EaxyExcel動態標題 ``` java /** * @param sheetStartNum 預設為0即可 * @param sheetName sheet名稱 * @param headList 動態標題,格