Excel 什么时候.xlsb文件*比.xlsx文件*大?

Excel 什么时候.xlsb文件*比.xlsx文件*大?,excel,Excel,我知道通常.xlsb文件比.xlsx文件小。然而,我刚刚将一个大的.xlsx文件保存为.xlsb(讽刺的是,为了减小文件大小),而.xlsb版本要大得多。对于完全相同的数据,我已经从160188KB(在.xlsx中)增加到254314KB(在.xlsb中) 该文件有两个选项卡。一个有28列和大约300000行。并非该范围内的所有单元格都已填充,但大多数单元格都包含各种文本和数值(包括一个长字符串,约占1000个字符) 第二个选项卡在单个单元格中只有一行文本 没有公式、命名范围、透视表或类似的内容

我知道通常.xlsb文件比.xlsx文件小。然而,我刚刚将一个大的.xlsx文件保存为.xlsb(讽刺的是,为了减小文件大小),而.xlsb版本要大得多。对于完全相同的数据,我已经从160188KB(在.xlsx中)增加到254314KB(在.xlsb中)

该文件有两个选项卡。一个有28列和大约300000行。并非该范围内的所有单元格都已填充,但大多数单元格都包含各种文本和数值(包括一个长字符串,约占1000个字符)

第二个选项卡在单个单元格中只有一行文本

没有公式、命名范围、透视表或类似的内容。我完全没有对文件做任何更改,我只是打开了.xlsx并选择了.xlsb


因此,我非常惊讶地看到.xlsb比.xlsx版本大得多,我想知道:在什么样的一般条件下会发生这种情况?

长话短说:两种格式在文件大小方面没有太大差异

二进制文件只是在打开或保存时提供稍好的性能

引用Diego Oppenheimer在Office博客上的一篇文章:

文件格式编号2–Excel二进制文件(XLSB文件)

Excel二进制格式是Excel的第二种全保真格式 2007它在结构上类似于Office Open XML格式——在一个zip容器中包含一组相关部分——不同之处在于它不是每个部分 包含XML的部分,每个部分都包含二进制数据

尽管我们已经做了很多工作来确保我们的XML格式 快速有效地打开,这种二进制格式仍然更多 Excel可以高效地打开和保存,并可以提高某些性能 对包含大量数据的工作簿的改进,或者 在开放过程中需要大量的XML解析。[……]在所有其他方面 在以下方面,它在功能上等同于上述XML文件格式:

  • 文件大小–两种格式的文件大小大致相同, 因为这两种格式都是使用zip压缩保存到磁盘的
  • 架构–两种格式使用相同的打包结构,并且 两者都具有相同的部件级结构
  • 功能支持–两种格式支持完全相同的功能集
  • 运行时性能–一旦加载到内存中,文件格式将 对应用程序/计算速度没有影响
  • 转换器–两种格式都具有相同的转换器支持

来源:(由我添加的亮点)

本网站是针对您正在开发的程序或算法的问题和相关问题,而不是针对通用计算机问答。投票以离题结束。@PeterB--我在概念上不同意您的观点--从本质上讲,没有问题需要解决。也就是说,我发现这是一个非常好的问题,我真的很想知道答案,因为这是任何使用Excel的人都必须处理的问题。它更适合堆栈社区中的其他地方吗?我很清楚,了解文件大小在很多方面都非常重要。。。编程应用程序的开发。(这就是我问这个问题的原因;我经常在各种环境下读/写大型Excel文件。)我相信你。。。我真的这么认为,但为什么我会发现@NathanielGivens的假设是正确的,即我通常会发现.xlsb文件更小?事实上,我从未见过xlsb更大,而且通常更小的情况。不管是哪种方式,感谢您的深刻见解——绝对值得知道。有大量文章主张使用.xlsb来考虑文件大小,而在其他情况下,我发现.xlsb文件比.xlsx文件小得多。这就是为什么我切换到.xlsb作为我的默认格式:为了减少文件大小。因此,当这个文件在.xlsb下膨胀时,我感到困惑,现在我更困惑的是,这个解释说,它们在文件大小上没有显著差异。为了进行深入分析,您必须提供您的文件作为示例。在不知道文件结构的情况下,我所能想到的只是一些未使用单元格的问题。至少在以前版本的Excel中,当删除实际内容右侧未使用的行和未使用的列时,会减小文件大小。如果打开现有XLSX文件并以XLSB格式保存,则可能会向XLSB文件添加某种文件历史记录或其他元数据。您是否检查过,将现有XLSX文件的内容复制并粘贴到新的XLSB文档中是否有任何区别?