我知道一般来说.xlsb文件小于.xlsx文件。但是,我只是将一个大的.xlsx文件保存为.xlsb(以减少文件大小,具有讽刺意味)并且.xlsb版本明显更大。对于完全相同的数据,我已经从160,188KB(在.xlsx中)变为254,314KB(在.xlsb中)。
该文件有两个标签。一个有28列和~300,000行。并非该范围内的所有单元格都已填充,但大多数单元格具有各种文本和数值(包括一个占用约1,000个字符的长字符串)。
第二个标签只在一个单元格中有一行文字。
没有公式,命名范围,数据透视表或类似的东西。我完全没有对文件进行任何更改,我只是打开了.xlsx做了一个SAVE AS并选择了.xlsb。
所以我非常惊讶地看到.xlsb比.xlsx版本大得多,我想知道:这种情况可以发生的一般条件是什么?
答案 0 :(得分:3)
长话短说:两种格式在文件大小方面没有太大差别。
二进制文件在打开或保存时只提供稍好的性能。
引自Diego Oppenheimer在Office博客上发表的帖子:
文件格式编号2 - Excel二进制文件(XLSB文件)
Excel二进制格式是Excel的第二种完整保真格式 它类似于Office Open XML格式的结构 - 一组相关的部分,在一个zip容器中 - 除了每个 包含XML的部分,每个部分包含二进制数据。
尽管我们已经做了很多工作来确保我们的XML格式 快速有效地打开,这种二进制格式仍然更多 有效的Excel打开和保存,并可以带来一些性能 包含大量数据的工作簿的改进 在Open过程中需要大量的XML解析。 [...]在所有其他方面 尊重,它在功能上等同于上面的XML文件格式:
- 文件大小 - 两种格式的文件大小差不多, 因为两种格式都使用zip压缩保存到磁盘
- 架构 - 两种格式都使用相同的包装结构 两者都有相同的部分级结构。
- 功能支持 - 两种格式都支持完全相同的功能集
- 运行时性能 - 一旦加载到内存中,文件格式就有了 对应用/计算速度没有影响
- 转换器 - 两种格式都具有相同的转换器支持
来源:All About File Formats(由我添加的要点)