[Excel] 想要优化Excel文档体积,这6招你需要知道

随着Excel工作簿中的数据、公式、图片的增加,文件体积增大的同时还会严重拖慢打开/保存的速度。而且尽管微软早已提供了excel在线协同的功能,但我们往往还是习惯以邮件附件的形式进行文件互换,当文件体积过大时,公司邮件系统又极有可能无法支持。那我们有什么办法可以减小Excel文件体积呢?

01 删除不必要的工作表和数据

通常而言最好的方法也是最简单的方法。这个方法也很好理解,并不需要过多的Excel技巧。如果你的Excel文档中有不少没有必要存在的工作表,那你考虑下,是否可以把他们删掉。

火箭君的测试:

这里我创造了两个Excel工作簿,分别包含4张和1张相同数据内容的工作表,他们的文件体积几乎完全的线性正相关(约4:1)。

02 转换为二进制格式.XLSB

你可能从来也没有注意过这种格式的存在,事实上打开Excel的另存为选项,格式下拉菜单的第三项即为 Excel二进制工作簿(*.xlsb)

什么是.xlsb格式?

简单来说,无论你是以.xlsx或者.xlsm格式保存Excel文档,实际上Excel是将数据内容保存成了XML格式的文件,而.xlsb格式则是采用二进制.bin格式:

将.xlsb以及.xlsx格式改为.zip格式后,解压查看两文件

火箭君的测试:

数据内容完全相同的两个文档,分别以.xlsb以及.xlsx格式进行保存,前者的体积只有后者的35%左右。

但.xlsb格式并非完美,不然也不会有.xlsx/.xlsm格式存在的意义了。

.xlsb格式的优点:

  • 更小的体积。XLSB最大的优势显而易见的就是体积小,尤其是面对数据量特别大的文件,这种优势更为明显。对于某些极端大数据量文件,XLSB格式的体积可能只有XLSX/XLSM格式的1/10。

  • 打开/保存速度更快。由于XLSX/XLSM格式在保存时,Excel会需要先将文档打散成一个个XML文件进行分别压缩处理,再封装成一个完整的XLSX/XLSM文件,而对于XLSB格式的文件,Excel仅需要将数据简单地以.bin形式储存起来,再以.XLSB进行封装。

  • 支持最高8192字母长度的公式。虽然正常情况下,我们并不会用到这种长度的公式(火箭君觉得普通人也并不会乐意打那么长的公式),但的确XLSB格式可以支持,而其他格式却实实在在无法支持

.xlsb格式的缺点:

  • 安全性。对于XLSX/XLSM格式而言,我们可以清晰分辨哪些文件带有宏,哪些没有。但对于XLSB格式而言,你完全无法知道这个文件是否带有宏。

  • 通用性。对比带有专利著作权的bin格式,XML格式显然开放得多得多。因此,如果你经常使用第三方工具打开excel文档的话,XLSX/XLSM格式肯定是更为好的选择

  • Power Query无法支持XLSB。XLSB由于历史原因,已经无法被Power Query这个强大的工具所支持。要是你常用Power Query,那你还是不要考虑XLSB格式了。

03 删除不必要的公式

太多的公式也会让你的工作簿体积飙升。

如果你的数据中有很多公式是没有必要的,那不妨将他们转换为数值。

你可以这么操作:

  • 选中整张工作表

  • 按下F5打开定位功能

  • 在定位条件中选择 公式

  • 将所有选中的单元格赋值后,粘贴成数值即可

火箭君的测试:

两个文档,唯一的区别是其中一个带有3列简单的公式计算(SUM/AVERAGE/COUNTIF),而另一个则将这三列转换成了数值。如此一波操作,居然造成了9.8%的体积差距。你可以想想,如果公式更多会是怎么样一番景象了。

04 压缩图片

压缩文档中的图片,也意味着降低图片的质量,在某些情况下你是不乐意看见的。

因此在将图片插入文档前,最好利用一些工具将图片体积变小而又较少的损失图片质量。比如,这个名为TinyPNG(https://tinypng.com/)的在线压缩工具,宣称可以在肉眼辨认无差别的条件下,将图片体积减少70%以上。

比如,TinyPNG将我上传的一张5M图片,压缩到了706k。

一旦你将这一些被优化过的图片插入Excel后,你还可以进一步利用Excel内置的图片压缩工具将其缩小。

过程不再详述,毕竟很常用了。

火箭君的测试:

当进一步将Excel中插入的一张图片压缩为电子邮件分辨率,文档体积有了明显的下降。

05 处理带有数据透视表的文档

要减小带有数据透视表的文档,其实分为两种方法:

  • 保留数据源、关闭透视表中保存文件及源数据功能

  • 启用透视表中保存文件及源数据功能、删除数据源

保留数据源、关闭透视表中保存文件及源数据功能

默认状态下,Excel会开启数据透视表中保存文件及源数据功能,以某种方式保留透视表所用到的数据,无需每次重新刷新透视表与数据源之间联系。当然,这样必然会增大文件体积。

如何关闭此功能呢?

  • 打开透视表选项

  • 在数据标签卡中,取消 保存文件及源数据,并 启用 打开文件时刷新数据

这样就可以在减小体积的同时,又保证数据连接的准确性。

火箭君的测试:

当关闭保存文件及源数据功能后,同样数据及透视表的文档,体积缩小了约20%。

启用透视表中保存文件及源数据功能、删除数据源

反之,我们则可以考虑删除数据源,但启用保存文件及源数据功能。这样可以保证在透视表正常使用的情况下,以另一种方式达到减小文档体积的目的。

火箭君的测试:

删除源数据工作表后,文档的体积出现了惊人的下降。

06 清除数据中的格式

数据格式包括边框底纹、字体式样等,这些额外的设定也会增加文档的体积。不过这些数据格式对体积增加的影响程度要远低于之前所提到的方法。

当然依着断舍离的指导思想,在没有非常必要的情况下,清楚数据格式,也将在某种程度上降低文档体积。

火箭君的测试:

在文档数据内容完全相同的情况下,设置字体式样、边框底纹,会小幅增加文档体积,但幅度较小(<10%)。