深入使用POI框架
从业依赖花精力研究的最久的一个框架
bruce128
https://github.com/bruce256?tab=repositories
展开
-
Office Open XML 单元格<c>格式详解
在前一篇文章提到过用SAX解析excel文件,仅提取数据部分。SAX技术过于底层,直接读XML文件,并要求开发者对于XML的格式了如指掌。poi框架官方给的用SAX解析的demo里仅解析了字符串和数字类型的单元格,其他类型的单元格并未解析。此外,excel文件里的xml信息很多,如果开发者想解析其他的内容呢?一、ECMA-376标准 Office 2007以后,微软公司使用Off...原创 2018-04-13 22:49:00 · 4925 阅读 · 4 评论 -
excel文件写性能优化
一 问题背景 通过POI框架生成excel文件的时候,一般选用的是XSSFWorkbook类。用这个类生成excel文件时,文件的所有数据均会存放在内存当中,包括cell对象,cellType对象等等。如果数据少的话,内存还能撑得住,但是超过了万行级别,内存就会被打爆。POI框架开发者直到3.8版本才提供了SXSSFWorkbook类用以解决这个问题。 Since 3.8-beta3...原创 2018-02-23 10:25:46 · 5299 阅读 · 5 评论 -
用SAX优化读excel文件的内存消耗
一 问题背景 一直在跟进excel的商品批量发布功能。去年大促前的半个月时间里用户频繁上传excel文件,导致线上机器频繁fullGC。虽然没有OOM,但是一直对吃内存问题耿耿于怀。通过堆dump分析,发现主要是poi框架的类实例耗用内存太大。poi框架的开发者也意识到了这个问题,通过提供比较底层的事件模式,解决吃内存的问题。 The SS eventmodel package is...原创 2018-02-06 21:39:20 · 2566 阅读 · 2 评论 -
修改默认的excel单元格样式
两种方式可以实现这种功能:方案一、 在xl/worksheet/sheet*.xml下增加一个cols子节点这个节点从第一列到最后一列,style指向同一个单元格样式<cols> <col min="1" max="16384" style="23" width="8.0" customWidth="false"/>&l原创 2018-01-01 22:56:40 · 3436 阅读 · 0 评论 -
POI框架开发经验小结
POI框架使用了一段时间,总结下自己的使用经验。POI框架介绍 Apache POI是Apache软件基金会的开放源码程序库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。1. 07版excel行的上限2的20次方,超过这个值会报错2. 下拉列表能包含的最多字符个数下拉列表能包含的最多字符个数256个,超了就不显示。如果下...原创 2017-12-24 21:30:18 · 7497 阅读 · 0 评论