easyExcel註解匯出

进击的乌拉發表於2024-08-21

使用註解匯出 (資料量大時使用)

參考官方文件

https://easyexcel.opensource.alibaba.com/docs/current/quickstart/write

1.匯入依賴

 	 <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>3.3.2</version>
        </dependency>

2.實體類

類上加這個註解,否則屬性不需要匯出的也給匯出來了

@ExcelIgnoreUnannotated

屬性加入 @ExcelProperty註解

@ExcelProperty
private String unitNature;

image

3.編碼 web中匯出

private void download(List<TaxProblemCountDetailsResult> taxProblemCountNew, HttpServletResponse response) throws IOException {

        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
        response.setCharacterEncoding("utf-8");
        // 這裡URLEncoder.encode可以防止中文亂碼 當然和easyexcel沒有關係
        String fileName = URLEncoder.encode("納稅_具體問題統計", "UTF-8").replaceAll("\\+", "%20");
        response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
        // 這裡 需要指定寫用哪個class去寫,然後寫到第一個sheet,名字為模板 然後檔案流會自動關閉
        EasyExcel.write(response.getOutputStream(), TaxProblemCountDetailsResult.class).sheet("納稅_具體問題統計").doWrite(taxProblemCountNew);

    }

相關文章