EasyExcel寫文件


公共部分

HttpServletResponse

// 需要處理response
HttpServletResponse response;
response.reset();
response.setCharacterEncoding("UTF-8");
response.setContentType("application/x-download");
response.setHeader("Content-Disposition", "attachment; filename=" + new String(fileName.getBytes("UTF-8"), "GBK") + ".xlsx");

寫入對象:SendTaskListDataBo

public class SendTaskListDataBo extends BaseRowModel implements Serializable {
    /** value為表頭,index為列號 */
    @ExcelProperty(value = "發放主任務ID" ,index = 0)
    private Long mainTaskId;
    @ColumnWidth(20)// 列寬度
    @ExcelProperty(value = "發放主任務名稱" ,index = 1)
    private String mainTaskName;
}

通過對象寫入方式

// 需要寫入的數據
List<SendTaskListDataBo> sendTaskListDataBos;
// 寫入到excel中,.sheet定義sheet名稱
EasyExcel.write(response.getOutputStream(), SendTaskListDataBo.class)
.sheet("發放任務列表").doWrite(sendTaskListDataBos);

通過模板填充方式

// 模板名稱,文件位置:resources/templates/excel
String  templateFileName = "templates" + File.separator + "excel" + File.separator + "export_send_task_template.xlsx";
// 寫入excel,springboot 使用new ClassPathResource();
ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).withTemplate
(new ClassPathResource(templateFileName).getInputStream()).build();

WriteSheet writeSheet = EasyExcel.writerSheet().build();
// 單個對象填充 {name}
excelWriter.fill(sendTaskListDataBo, writeSheet);
// 填充集合 {.name}
excelWriter.fill(subTaskDataBos, writeSheet);
excelWriter.finish();

模板文件excel


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM