使用easypoi和原生poi接口实现导出excel时控制复选框选中或不选中

工程需求:导出excel时,设置复选框选中或不选中
解决方案:使用excel模板导出,在模板中设置复选框的值true/false,来设置选中或不选中

步骤一:插入复选框
使用easypoi和原生poi接口实现导出excel时控制复选框选中或不选中_第1张图片
此时点机复选框,就可以设置选中或不选中,但是我们希望通过java接口来操作

步骤二:为复选框设置单元格连接
使用easypoi和原生poi接口实现导出excel时控制复选框选中或不选中_第2张图片
此时点机复选框为选中/不选中,链接的单元格的值也会变为true/false
修改链接复选框的值为true或false,复选框也会自动变为选中或不选中

选中时,超链接单元格的值为true
使用easypoi和原生poi接口实现导出excel时控制复选框选中或不选中_第3张图片

不选中时,超链接的值为false
使用easypoi和原生poi接口实现导出excel时控制复选框选中或不选中_第4张图片

步骤三:通过poi接口,来控制选中或不选中

具体代码请从github下载:https://github.com/wyj180/spring-boot-easypoi.git
使用easypoi和原生poi接口实现导出excel时控制复选框选中或不选中_第5张图片

特别说明:需要office来设置模板,使用wps不行

遇到的问题:
1、 如何在office中找到”开发工具”?
默认是不显示开发者工具的,需要设置一下
文件 -> 选项 -> 自定义工能区 -> 选中开发工具
使用easypoi和原生poi接口实现导出excel时控制复选框选中或不选中_第6张图片
设置之后的效果
使用easypoi和原生poi接口实现导出excel时控制复选框选中或不选中_第7张图片

问题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

你可能感兴趣的:(Java)