当前位置: 首页 > news >正文

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

相关文章:

  • 再苦再累也必须要弄懂的:ES6的ES Module
  • K210使用Mx-yolov3训练
  • Springboot中日志的简单使用
  • 0. SQL细节要点
  • 网络安全——Cobaltstrike
  • 架构师的 36 项修炼第07讲:高性能系统架构设计
  • 微信小程序开发03 自定义组件:怎么培养组件化思维?
  • 4.bs4 节点遍历
  • 基于ssm+vue+elementui的二手车交易管理系统
  • 计算机毕业设计springboot+vue基本微信小程序的水库巡检系统
  • 3.BeautifulSoup库
  • 8.cookie的获取
  • 商标注册需要什么材料
  • 什么是布隆过滤器
  • 什么是Quartz
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • Create React App 使用
  • echarts的各种常用效果展示
  • ES6系统学习----从Apollo Client看解构赋值
  • Hexo+码云+git快速搭建免费的静态Blog
  • laravel with 查询列表限制条数
  • 大主子表关联的性能优化方法
  • 记一次和乔布斯合作最难忘的经历
  • 一道闭包题引发的思考
  • !!Dom4j 学习笔记
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (2.2w字)前端单元测试之Jest详解篇
  • (8)STL算法之替换
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (排序详解之 堆排序)
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (转)大型网站的系统架构
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .NET 4.0中的泛型协变和反变
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • @DataRedisTest测试redis从未如此丝滑
  • @EnableConfigurationProperties注解使用
  • [Angular] 笔记 9:list/detail 页面以及@Output
  • [BZOJ1053][HAOI2007]反素数ant
  • [C#][DevPress]事件委托的使用
  • [codevs1288] 埃及分数
  • [dfs] 图案计数
  • [ffmpeg] 定制滤波器
  • [HCTF 2018]WarmUp (代码审计)
  • [HNOI2006]鬼谷子的钱袋
  • [HOW TO]如何在iPhone应用程序中发送邮件
  • [JavaEE]线程的状态与安全
  • [Latex] \bibitem{} | .bbl 格式参考文献转换与获得
  • [py]python自省工具