乐于分享
好东西不私藏

看完这篇,你再也不会存错Excel格式

看完这篇,你再也不会存错Excel格式

看完这篇,你再也不会存错Excel格式


说实话,我写这篇文章之前,先去翻了一下自己电脑。

嗯,桌面上还躺着三个.xls文件。

别笑。你可能也跟我一样——明明知道该用.xlsx,但总有一些"历史遗留问题"赖在那里,久了就懒得管了。

直到上个月,一个朋友跟我吐槽,说他花了一整天整理的数据,存完再打开,凭空少了三分之一。

我才觉得,这事儿值得认真写一篇。

所以今天聊聊Excel那两种后缀名的事。读完大概3分钟,3分钟后,你应该不会再在这个事上吃亏了。

先回答一个最核心的问题:.xls和.xlsx,到底差在哪?

很直接地说,差了一代。

.xls是Excel 97-2003时代的格式,2007年之后的新版格式就是.xlsx。到现在都快20年了,但很多人还在用旧格式。不是故意的,纯粹是不知道、没注意。

但这两者的差距,还真不是"新和旧"那么简单。

容量差了16倍!

直接上数字:

.xls,最大支持65,536行、256列。 .xlsx,最大支持1,048,576行、16,384列。

16倍。如果你做的只是填个表格、记个流水账,确实感受不到。但一旦涉及到数据导出、库存统计、财务对账——超过6万行是家常便饭。

超过会怎么样?没有任何提醒,保存的时候静悄悄地截断。

我那朋友就是这么中招的。公司系统导了8万条订单记录,他习惯性保存成了.xls。第二天一打开,后两万行凭空蒸发了,数据对不上,被领导一顿骂。花了两天重新导。

文件结构差了一代

说个冷知识:

.xls是二进制格式。什么是二进制?你就理解成一个封死的铁盒子——想看里面的东西,必须用Excel,否则打不开。一旦文件损坏,基本等于数据报废。

.xlsx不一样。它实际上是一个ZIP压缩包,里面装满了一堆XML文件(一种纯文本数据结构)。

什么意思?

你把一个.xlsx文件的后缀名改成.zip,双击解压,里面有个叫sheet1.xml的文件,用记事本都能打开,数据全在里面。

这么设计的好处是什么?第一,文件更小。同样的数据,.xlsx比.xls小30%到50%。发邮件、存网盘,都更省空间。第二,抢救数据方便。

这也是我要说的第三点。

.xlsx坏了还能救回来

这个问题你可能没遇到过,但遇到了就是大事。

一个.xls文件坏了,Excel会弹出那个熟悉的对话框——"文件无法读取",然后就没有然后了。

但.xlsx坏了呢?

步骤很简单:

  1. 把后缀从.xlsx改成.zip
  2. 解压
  3. 找到xl文件夹里的sharedStrings.xml或者对应sheet的.xml
  4. 数据就在里面躺着

不一定100%完整,但大概率能抢救个七七八八。

这个技巧,值不值得你花3分钟看完这篇文章?


好了,说重点:怎么选?

其实判断标准就一条——除非你知道对方只能用老版Excel,否则一律存.xlsx。

展开来说:

日常自己用 → 存.xlsx 数据超过6万行 → 必须.xlsx(没得选) 发邮件给别人 → 存.xlsx(体积小、兼容性好) 对方是上了年纪的公司、还在用Office 2003 → 老老实实存.xls 要写宏代码(VBA)→ 存.xlsm(带宏的专用格式)

简单粗暴的核心原则:存新的,别存旧的。

不是什么花里胡哨的追求,纯粹是对自己数据的负责。一个文件格式的选择,背后可能是几个小时的心血。


最后,不如现在就做一件事。

打开你电脑上任何一个.xls文件,点「文件」→「另存为」,在类型里选"Excel工作簿(*.xlsx)"。

五秒钟的事。

花五秒钟,省掉未来可能的一整天。


如果觉得有用,可以转给身边还在用.xls的朋友。有些坑,一个人踩过就够了。

相关学习资料