我正在使用apache poi api来处理我的电子表格文件。 我观察到,如果我们尝试编辑现有的.xls文件,那么它的大小与同一个文件(相同数据)一次写入的大小不同。
答案 0 :(得分:3)
Excel电子表格在打开或编辑后会增长是正常的。在Microsoft Excel中打开电子表格时,会自动计算公式,因此会增加文件的大小。如果Apache POI打开电子表格,则由开发人员调用(FormulaEvaluator)来更新所有值。当Apache POI读取电子表格并且尚未评估公式时,公式答案可能无效。
答案 1 :(得分:2)
POI将始终每个单元格写出一条记录
但是,Excel有时会将几个相似的连续单元格聚集到一个记录中。例如,如果连续3个单元格为空白但设置了样式,则excel将生成一个MulBlankRecord,其中包含所有单元格。对于其中包含简单数字的行中的多个单元格,excel使用MulRKRecord当POI读入文件时,它会扩展所有Mul *记录。在写入时,会写入单个单元格记录,因此文件会稍微大一些。我认为POI bugzilla中有一个条目用于增强POI将细胞合并到Mul记录中,但似乎没有人自愿参与其中......