工程需求:导出excel时,设置复选框选中或不选中
解决方案:使用excel模板导出,在模板中设置复选框的值true/false,来设置选中或不选中
步骤一:插入复选框
此时点机复选框,就可以设置选中或不选中,但是我们希望通过java接口来操作
步骤二:为复选框设置单元格连接
此时点机复选框为选中/不选中,链接的单元格的值也会变为true/false
修改链接复选框的值为true或false,复选框也会自动变为选中或不选中
选中时,超链接单元格的值为true
不选中时,超链接的值为false
步骤三:通过poi接口,来控制选中或不选中
具体代码请从github下载:https://github.com/wyj180/spring-boot-easypoi.git
特别说明:需要office来设置模板,使用wps不行
遇到的问题:
1、 如何在office中找到”开发工具”?
默认是不显示开发者工具的,需要设置一下
文件 -> 选项 -> 自定义工能区 -> 选中开发工具
设置之后的效果
问题2:使用easypoi设置值为true或false,打开导出的excel查看效果,发现不生效,如果这时把单元格格式设置为常规,就会生效,可见,easypoi默认在处理单元格时会设置为文本,因此不生效
解决办法:使用原生poi接口,设置boolean值来解决
问题3:导出列表数据时,会报错
java.lang.IllegalStateException: Cannot add merged region A21:B24 to sheet because it overlaps with an existing merged region (A21:B24).
或报错:ERROR c.a.easypoi.util.PoiMergeCellUtil - 发生了一次合并单元格错误,24,25,5,5
解决办法:升级easypoi的jar包
将easypoi-spring-boot-starter依赖,4.0.0升级为4.1.0
如果你也遇到了这个问题,欢迎一起交流 QQ:1915418799