之前对普通 Excel 文件,我都保存为默认的 xlsx 格式,带 vba 的保存为 xlsm 格式。最近从同事那里见到一个高大上的 excel 文件格式: xlsb。我学习了一下,觉得甚为强大,在此推荐一下。
xlsb 和 xlsx、xlsm 文件格式基本类似,它们都是压缩文件包(将后缀改为 zip 即可解压),区别在于, xlsx 和 xlsm 的压缩包里面的内容都是基于 XML (文本,可以直接用写字板打开阅读),而 xlsb 压缩包里的内容则是二进制文件(无法直接打开阅读)。
xlsb 的好处是:
- 文件更小。xlsb 的文件更小,对保存大 Excel 文件很有用。
- 打开和保存的速度更快。EXCEL 直接使用二进制文件比解释 XML 文件速度更快。
我自己的一个 15M 的 XLSM 文件,保存为 xlsb 后只有 5M ,打开和保存的速度也明显加快。有人做了一个简单的测试:文件内容是 10000*1000 个单元格,每个单元格都是一个=+1
的公式。对这个文件而言,xlsb 文件的打开速度是 xlsx 文件的四倍,保存速度快一倍,文件小三分之一:
.XLSX | .XLSB | |
---|---|---|
打开速度 | 165s | 43s |
保存速度 | 115s | 61s |
文件大小 | 91MB | 65MB |
而在其它方面, xlsb 和 xlsx、xlsm 并无区别, xlsb 格式拥有 excel 全部功能,微软对于它的向下兼容是一样的( Excel 2003 在安装转换器的情况下同样可打开 xlsb 文件)。当文件被读入内存后,两种格式在计算时并无差异。
xlsb 的唯一劣势是 xlsx 可以更好地与其它程序、尤其是其它平台的交互,因为 xlsx 基于更标准化的 XML 格式。但普通用户用不到这种高大上的技术,所以,对于普通用户而言,推荐将 EXCEL 的默认保存格式设置为 XLSB 格式。Excel 选项的「保存」页面可进行该项设置,如下图:
Q. E. D.