簡體   English   中英

為什么當打開由PHPExcel生成的xls文件然后單擊“保存”時尺寸減小?

[英]Why when open xls file generated by PHPExcel then click save the size decreases?

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

 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');

$objWriter->save($myFile);

如果我打開文件並按ctr + s (不做任何更改),則大小幾乎減小到50%。

簡單...。PHPExcel不會在速度和內存使用上浪費寶貴的PHP開銷資源來優化文件數據的存儲。 而MS Excel將通過優化存儲來減少文件大小要求。 用PHP構建本機Excel格式文件的速度很慢,並且內存已很充足

例如,所有字符串數據都保存在共享字符串表中。 當兩個或多個單元格包含相同的字符串值時,MS Excel將它們都指向共享字符串表中的同一條目,因此字符串數據僅存儲一次。 PHPExcel不會執行此檢查以查看共享字符串表中是否已存在字符串值,而只是創建一個新條目,因此該字符串被存儲兩次。 通過消除檢查表中已經存在的字符串的開銷,這減少了保存數據所花費的時間,但這樣做的代價是重復,因此要增加文件大小。

關鍵問題是“哪個更重要?要能夠在PHP中讀取/編輯/寫入本機Excel文件?要使PHPExcel盡可能快且內存不足?還是要使磁盤上的文件大小最小?”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM