poi学习历程
学习背景
需求是把Excel导入倒出玩出花来,所以断断续续的有为期两年多的java-web-poi经历
经历描述和心得
1.任意格式的Excel导入,数据区域不固定,格式不固定,包含内容不固定,合并区域,还有垃圾缓存文件,图片,附件,名称管理器,透视表。
2.不要问为什么会有那么多场景,原因只有一个,因为需求是可以支持任意一个excel的解析
3.支持导入文件还得支持大数据量,需求是100w数据量,微服务,只给2u4g,要解析100w任意格式,任意样式的Excel,难受,虽然后面在据理力争的给加到了8g。
4.还有excel导出,也是100w,还得和最初上传的excel文件一模一样,唉
5.导入的数据每一个单元格都得记录起来,支持修改记录,任意改一个数据都得能找到这一个单元格的上一次的原始值,想想100w行100列的Excel有1亿条数据,这是关系型数据库干的事?,后续用es实现,优化数据结构,也挺快,分分钟
6.用户随便在excel上指定位置,将查询出来的数据给输出到制定位置或者范围上,有数据,多图片,附件,考虑合并单元格,图片附件矩阵排列输出
7.在6中提到的excel再给导入进来,100MB的Excel文件,我的天
8.上述需求都实现了,因为规定,后续文章只讨论学习思路,关键api,还有踩过的坑,代码百度上到处都是,不差这一点,虽然过程很痛苦,但是学习很快乐,感谢好心人的帮助,感谢同行,感谢百度,感谢谷歌,感谢apache
9.哦对了,还有框架对比,easyExcel,poi局限的地方,坑还是不少的
10.最关键一点,学习嘛,只讨论思路,关键api,代码嘛,百度cv一把梭哈就有了
11.文章不定期更新,如有错误理解或者改进的地方,欢迎留言指正沟通交流