📄 111.txt
字号:
关于POI的使用
前段时间做个一个项目,其中客户有一个需求是excel和程序的关联。下面把一些思路和大家一起讨论,欢迎大家多提宝贵意见。
除了画面检出的数据生成Excel报表外,还需要通过修改Excel报表上传来更新DB的数据,客户指定要求使用POI来控制Excel。
1,比较简单的情况
第一次接触POI,因为客户需要规定好了要求的报表样式,如果用代码来控制所有的Excel内容的情况,代码量会非常的大,需要指定cell的大小,样式,字体等等。所以想用模板的方式,就是为每个excel报表制作一个模板,模板中定义好了报表的固定部分,数据部分只有第一条作为sample。在生成Excel文件前,先读入模板对象,然后模板对象和查询的数据组合成需要的excel文件。
2,比较复杂的情况
客户希望通过配置文件来定制生成的Excel文件。我的想法是通过xml文件来设置excel内的项目(cell的大小,样式,字体,分页等等)。客户又提出项目的顺序也是可定制的,还需要下载到本地以后修改然后上传,更新DB。这种情况比较难实现。
解决的方法
1,定制模板,提取出共同的部分。在生成excel的时候参照使用,然后通过POI的 cell拷贝功能直接得到样式。
2,动态部分通过读取配置文件和一个排序的算法,生成需要的项目(这个地方出了 很多的问题)
3,读取excel的时候因为前面的数据都是可变的,这里也出了很多问题(数据读取错 误,越界等等)。现在的解决办法比较笨,就是一个个读取比对,如果是就填入相应的 对象,最后再来提交数据库进行更新。
关于Excel读取这里觉得应该还会有更好的办法来解决(读取的样式不固定,然后要更新相应的DB)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -