EasyExcel 官网观看建议

EasyExcel 学习随笔

看着easyxcel 真的一脸茫然,花2天才搞懂阅读思路

官网

首先官方 只推荐看目录和 api 然后拉代码,下来阅读。

几个小的点

读取中遇到到 空行 默认会忽略,继续读取

写的时候遇到空行 需要调用relativeHeadRowIndex(inedx )

写出的 的模版需要增加数据 在读的时候 需要注意字体

复杂的抬头需要 在实体类注解上面设置
合并单元格,要看多行头 内容
一张表有多个表单 要去看 无对象存储,自己写 读取逻辑
实现ReadListeneronException 后,会自动捕获所有异常,

16622064461949

凌乱笔记

复杂头

  public void complexHeadWrite() {
        String fileName = TestFileUtil.getPath() + "complexHeadWrite" + System.currentTimeMillis() + ".xlsx";
        System.out.println(fileName);
        // 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
        EasyExcel.write(fileName, ComplexHeadData.class).sheet("模板").doWrite(data());
    }
public class ComplexHeadData {
    @ExcelProperty({"主标题", "字符串标题"})
    private String string;
    @ExcelProperty({"主标题", "日期标题"})
    private Date date;
    @ExcelProperty({"主标题", "数字标题"})
    private Double doubleData;
}

16621666223052

多对象写入

  /**测试多对象写入*/
    public static void writeExcel01() {
        String fileName = getPath1();
        ExcelWriter excelWriter = EasyExcel.write(fileName).excelType(ExcelTypeEnum.XLSX).build();
        WriteSheet writeSheet = EasyExcel.writerSheet("模板").needHead(Boolean.FALSE).build();

        List<DemoData> demoDataList = writeExcel.data1();
        // 需要表头设置为true,WriteTable一些属性会继承自WriteSheet
        WriteTable writeTable = EasyExcel.writerTable(1).head(DemoData.class).needHead(Boolean.TRUE)
                .registerWriteHandler(new CustomMergeStrategy(demoDataList.stream().map(DemoData::getString).collect(Collectors.toList()), 0))
                .registerWriteHandler(new CustomMergeStrategy(demoDataList.stream().map(o -> o.getDoubleData()+"").collect(Collectors.toList()), 2))
                .build();
        excelWriter.write(demoDataList, writeSheet, writeTable);

        //设置空行 relativeHeadRowIndex
        WriteTable writeTable1 = EasyExcel.writerTable(2).head(DemoData.class).needHead(Boolean.TRUE).relativeHeadRowIndex(1).build();
        excelWriter.write(writeExcel.data1(), writeSheet, writeTable1);
        excelWriter.finish();
    }

16621690386600

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值