应客户要求,导出数据库中的数据为Excel,只在一个Sheet中,Excel中的内容要与数据库里的内容一致(主要针对日期型数据)。
由于之前接触过POI,对POI的一些特性还是有一定的了解的,因此顺其自然的用POI去解决这个问题。POI3.8版本之前的版本处理大量<em>数据</em>的<em>导出</em>Excel效果不是很理想,主要在与Excel2003版本单个Sheet的行限制为65536,大量<em>数据</em>的<em>导出</em>得分多个Sheet,针对这一点,客户就不会满意。其次,在<em>实验</em>过程中,大<em>数据</em>量的<em>导出</em>很容易引发内存溢出,调整JVM的内存大小治标不治本。很多人建议保存为.CSV格式的文件。不过,.CSV方式<em>导出</em>也存在问题:首先,如果用excel来打开csv,超过65536行的<em>数据</em>都会看不见,这是Excel程序的问题。其次,如果要<em>导出</em>一个身份证号码,手机号码等纯数字构成的字符串,在excel中打开csv时,这些字段很容易被识别成数字,被误处理。 POI3.8以后的版本支持Excel2007高版本,单个Sheet的行数可达到百万,针对内存溢出问题,可通过设置内存<em>数据</em>保留数,每当计数到指定的数值时,刷新<em>数据</em>到硬盘,清理内存。
讯享网

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/161822.html