OpenOffice Calc:保存为 Excel 时减小文件大小

OpenOffice Calc:保存为 Excel 时减小文件大小

我正在和另一个人一起制作电子表格,通过电子邮件来回发送新版本。它没有什么特别的。他使用 Windows,而我使用 Ubuntu 12.04.4 LTS。他发送的第一个版本只有 30 k。当我在 LibreOffice 3.5.7.2(OpenOffice 的当前 Ubuntu 版本)中打开它并再次保存它(仍然使用 Excel 格式)时,它有 2.6 MB!在我编辑之后,它有 5 MB 大,这是不可接受的。

file关于原始 Microsoft Office 文件有以下说明:Composite Document File V2 Document, Little Endian, Os: Windows, Version 6.2, ... Name of Creating Application: Microsoft Excel, ... Security: 0

从 LibreOffice 保存为 Excel 后,file显示的内容几乎相同。不同之处在于:版本 1.0 而不是 6.2,代码页:-535 而不是 1252,修订号:1(原始文件中不存在),创建应用程序和安全性的名称:不再存在。

有没有什么办法可以减小文件大小?

答案1

我找到了问题所在。有 4 x 65536 行(主要是未使用的)具有自定义行高。我选择了所有未使用的行,调用“格式”>“行”>“最佳高度”,然后按“确定”。这样文件大小就从 5 MB 缩小到了 10 k。

为了发现这一点,我将文件保存为 .xlsx(Excel 2007/2010 XML 或 OfficeOpen XML 电子表格,没有区别)。这是一个包含 xml 文件的 zip 格式。我解压后发现像这样的大文件xl/worksheets/sheet2.xml。我使用格式化其中一个文件xmllint --format,发现 65536 行看起来像<row collapsed="false" customFormat="false" customHeight="true" hidden="false" ht="12.8" outlineLevel="0" r="65536"/>

答案2

如果您的文件中确实没有什么特别之处,您确定没有添加一些嵌入其中的对象,例如图片或其他文档吗?我正在编辑包含大量数据的 calc 文件一段时间,并且始终保持可理解的大小(使用 LibreOffice 4.x)。

其他一些想法: - 发送前对文件进行 zip/gzip 压缩可能会节省很多 - 如果问题是邮箱使用情况,您可以使用其他文件共享服务。

相关内容