为什么打开PHPExcel生成的xls文件然后点击保存大小就减less了?

我使用PHPexcel_1.8生成Microsoft Excel 97-2003工作表(.xls)

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save($myFile); 

如果我打开文件并按ctrl + s (不作任何改变),大小几乎下降到50%。

简单…. PHPExcel不浪费宝贵的PHP开销资源的速度和内存使用量,以优化文件数据的存储; 而MS Excel将通过优化存储来减less文件大小的要求。 在PHP中构build本地Excel格式文件已经很慢了,而且内存已经很大了

作为一个例子,所有的string数据都保存在一个共享的string表中。 当两个或多个单元格包含相同的string值时,MS Excel将它们都指向共享string表中相同的条目,以便string数据只存储一次。 PHPExcel不检查string值是否已经在共享string表中,而只是创build一个新条目,所以string被存储了两次。 通过消除检查开销来节省数据所花费的时间是已经在表中的string,但是以重复的方式,因此在文件大小上是成本的。

关键问题是“哪一个更重要?为了能够在PHP中读取/编辑/编写本地Excel文件?保持PHPExcel尽可能快速和低内存?或者在磁盘上拥有尽可能小的文件大小?