推荐使用 xlsb 格式保存 Excel 文件

作者: , 共 832 字
系列:办公自动化

查看该系列所有文章

之前对普通 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 选项的「保存」页面可进行该项设置,如下图:

image

Q. E. D.

系列: 办公自动化 »
键盘流(指尽量使用键盘,少动用鼠标,尤其不要在鼠标和键盘之间来回切换)是我追求的目标。我工作中用的最多的软件是 Excel ,写代码写的最多的是 Excel/VBA。用得多了自然比较关注工作效率,所以我在 Excel 键盘流上略有心得,这里给大家分享一下。网上有很全的快捷键列表,但那不是我想写的,因为太多记不下来不实用。这里只列举一下我在实际工作中的的确确总是在用的,为自己方便,也共享给大伙们。
更新一下之前写的Excel 的数据库类,将其改成函数的形式,调用更简单(省却了生成类实例的步骤)。现在这个代码在工作中用了一年多,已经比较健壮。若有问题,请留言指出或与我联系。
类似文章:
编程 » Excel
Excel 中可设置每个单元格显示数字和文本的格式:
Excel 多表合并和查询是一个应用很广泛的问题。下面是一个简单的例子,我们需要从两张数据表里,得出每个行业的股票波动率平均值。第一个数据表保存了股票和行业的对应关系,有两列,第一列为股票名,第二列为每只股票对应的行业。第二张表保存了各个股票在各个交易日的收盘价和前收盘价,有四列,第一列是股票名,第二列为交易日,第三列和第四列分别为股票在这个交易日的前收盘价和收盘价。
2014-03-25 更新:我已经将该类修改成函数形式,并增加新功能,参见更新 Excel 的数据库查询函数库
键盘流(指尽量使用键盘,少动用鼠标,尤其不要在鼠标和键盘之间来回切换)是我追求的目标。我工作中用的最多的软件是 Excel ,写代码写的最多的是 Excel/VBA。用得多了自然比较关注工作效率,所以我在 Excel 键盘流上略有心得,这里给大家分享一下。网上有很全的快捷键列表,但那不是我想写的,因为太多记不下来不实用。这里只列举一下我在实际工作中的的确确总是在用的,为自己方便,也共享给大伙们。
编程 » Excel
香港这边没有 WIND ,部门的彭博也不在我的机器上,为了取个股票价格数据都得跑来跑去。一怒之下,我写了一个 Excel 的函数,用来获取行情数据。
编程 » Excel, VBA
某些时候需要打开 Excel 文件来获取或者写入数据,但又不希望跳出打开的 Excel 文件窗口,可以用下面的代码:
如果一个日期(或者时间),如果用字符串,比如"2010-10-04"的形式,各个系统都没有什么区别。在某些时候,将日期用数字表示,将大大增加对日期查找、比较的效率。而如果用数字来表示日期,在不同的系统之间差别就大了。
编程 » Excel, 数据库
在前面的文章里,我已经提到Excel 数据本身可以当做一张 SQL 查询的数据表,并在 Excel 内进行数据库运算操作。数据库查询函数可以用我之前写的Excel 数据库操作函数类。我们可以用以下方式
编程 » vbs, 办公自动化
工作中或多或少有些琐碎的事情,比如每天要发送和接受数据,很多是通过邮件的方式传递的。之前写过如何在 Outlook 里自动保存附件,这里再发一个如何更方便地发送带附件的邮件。
在工作中定期或不定期会收到一些数据文件,然后要将它们的附件保存到自己的电脑上,下面演示如何让 Outlook 自动做这件事情。
简要分析我武生物的配售结果,因为规则很有趣,忍不住动笔算了一下内在的逻辑,同时配合质疑报道,看一下我武生物的配售到底有没有问题:
风险管理 » VaR Primer
一个场景是所有风险因子的表现序列。历史场景是指风险因子在历史上某天的实际表现,随机场景则是计算机随机模拟生成的。通常蒙特卡洛模拟法需生成至少 1000 个随机场景,然后计算组合在每个场景下的损益,最后取 5%分位点得到组合的 VaR 值。