EasyExcel按模板导出excel

@GetMapping("/download1")
    public void downloadFile1(HttpServletResponse response) throws IOException {
        
        // 下载excel
        String fileName = "excel-template/test.xls";
        response.setContentType("application/octet-stream");
        response.setCharacterEncoding("utf-8");
        response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode("template.xls", StandardCharsets.UTF_8));

        // 加载模板
        InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(fileName);
        // 输出到response
        try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).withTemplate(inputStream)
                .excelType(ExcelTypeEnum.XLS).build()) {
            // 得到sheet
            WriteSheet writeSheet = EasyExcel.writerSheet().build();
       // 自动换行 FillConfig fillConfig = FillConfig.builder().forceNewRow(true).build(); // 列表竖向填充 List<DetailVo> details = new ArrayList<>(); details.add(new DetailVo("1", "任务1", "12", "12", "22")); details.add(new DetailVo("2", "任务2", "12", "12", "22")); excelWriter.fill(cachedDataList, fillConfig, writeSheet); excelWriter.finish(); } }

导出实体类对象

package cn.bolangit.system.domain.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode
public class DetailVo {

    @ExcelProperty("序号")
    private String seq;
    @ExcelProperty("具体目标任务")
    private String task;
    @ExcelProperty("牵头单位")
    private String qtdw;
    @ExcelProperty("责任人")
    private String zrr;
    @ExcelProperty("责任单位")
    private String zrdw;
}

excel模板存放路径

image

 excel模板内容配置

image

 

posted @ 2025-11-25 16:08  黄进广寒  阅读(48)  评论(0)    收藏  举报