1. Excel2003与Excel2007
两个版本的最大行数和列数不同,2003版最大行数是65536行,最大列数是256列,2007版及以后的版本最大行数是1048576行,最大列数是16384列。
excel2003是以二进制的方式存储,这种格式不易被其他软件读取使用;而excel2007采用了基于XML的ooxml开放文档标准,ooxml使用XML和ZIP技术结合进行文件存储,XML是一个基于文本的格式,而且ZIP容器支持内容的压缩,所以其一大优势是可以大大减小文件的尺寸。
2,Apache POI组件
Apache POI包含类和方法,来将MS Office所有OLE 2文档复合。此API组件的列表如下。
-
POIFS (较差混淆技术实现文件系统) : 此组件是所有其他POI元件的基本因素。它被用来明确地读取不同的文件。
-
HSSF (可怕的电子表格格式) : 它被用来读取和写入MS-Excel文件的xls格式,适用于07版本以前的。
-
XSSF (XML格式) : 它是用于MS-Excel中XLSX文件格式,使用与07版本以后的。
-
HPSF (可怕的属性设置格式) : 它用来提取MS-Office文件属性设置。
-
HWPF (可怕的字处理器格式) : 它是用来读取和写入MS-Word的文档扩展名的文件。
-
XWPF (XML字处理器格式) : 它是用来读取和写入MS-Word的docx扩展名的文件。
-
HSLF (可怕的幻灯片版式格式) : 它是用于读取,创建和编辑PowerPoint演示文稿。
-
HDGF (可怕的图表格式) : 它包含类和方法为MS-Visio的二进制文件。
-
HPBF (可怕的出版商格式) : 它被用来读取和写入MS-Publisher文件。
3,大数据量文件的读写
对于大数据的Xlsx文件的写入,POI3.8提供了SXSSFSXSSFWorkbook类,采用缓存方式进行大批量写文件。
详情可以查看poi官网示例:http://poi.apache.org/spreadsheet/how-to.html#sxssf 或 http://blog.youkuaiyun.com/daiyutage/article/details/53010491
4,POI在使用SXSSFWorkbook 导出
在使用SXSSFWorkbook导出的时候,会在将文件写出到文件当前输出系统下创建临时的.xml文件,将数据保存在里面,最后对数据进行合并成Excel样式。
在导出的时候linux系统是在./tmp/路径下创建一个poifiles的文件夹,Windows会在tomcat下的临时路径里面创建一个文件。