租号玩代理申请
A-A+

Excel 两种格式 XLS 和 XLSX 有什么区别?日常保存选哪个格式好?

2025年10月10日 电脑网络 暂无评论 阅读 1 次

一、格式xls是2003版本的文件,属于二进制文件,最大行数65536,最大列数是256。支持保存vba代码(包括VBE环境里的VBA代码,以及名称管理器中的宏表函数,宏表函数也算VBA代码的)。

xlsx是2007版本的文件,属于xml结构的文件,扩展名改成zip或rar可解压缩为多个xml文件,最大行数是1048576,最大列数是16384。不支持保存vba代码。xlsx可导入sql server,前提是安装对应版本的accessdatabaseengine,极有可能需要安装32位。导入时还要注意数据是否超过255字符,否则有可能被截断,需要在数据库中提前设置字段类型和长度。

xlsm是2007版本的文件,与xlsx的区别是支持保存vba代码。区分xlsx和xlsm格式的主要原因是为防止有人使用vba代码撰写病毒文件,放到excel文件中感染电脑,保存为xlsx格式能确保安全性,当然也可在设置中禁用vba功能。

excel开启VBA

xlsb是2007版本的文件,二进制结构,支持保存vba代码,和xlsm相比,体积更小,性能更好,但兼容性不如xlsm。

我日常保存一般选xlsm。

其他常用文件格式:xla、xlam、xll是插件文件,xla、xlam使用vba撰写,xll是动态链接库插件,使用C++等撰写函数,运行速度更快,默认路径:C:\Users\Administrator\AppData\Roaming\Microsoft\AddIns。放入后直接显示在developer的excel add-ins中,可选择打开excel启动或关闭插件,在启用状态下,可使用其中包含的宏或自定义函数等功能,打开任何excel文件后按alt+f11都能看到xla中的代码并可修改。喜欢折腾vba的话,这个功能应该很常用。

Lunax.xll文件

excel添加插件

xlt、xltx、xltm是模板,xlt是2003格式,xltx、xltm是2007格式,后者支持vba代码,默认保存路径是C:\Users\Administrator\Documents\Custom Office Templates,保存后新建excel文件时可在个人区域选到模板文件。

excel模板

dll、exe是com控件,默认存放路径:C:\Users\Administrator\AppData\Roaming\Microsoft\Excel\XLSTART。放入后直接显示在developer的com add-ins中。

xml有时可用于和软件系统交互,尤其是导入导出数据、模板等。不过有些软件系统的xml格式比较麻烦,要用vba转换。这个我也处理过,主要是根据excel中的内容一次性生成xml文件,导入到软件系统中,避免在软件系统中手动录入,有些系统提供xlsx等文件直接导入功能,那就不需要xml文件了。

slk用于保存项目配置、游戏参数之类,结构简单,加载速度快。

csv常是数据库导出的文件格式,往往行数比较多,只有一个表,单元格之间的数据加了个分隔符,超过工作表上限时最好在powerquery中导入。这个格式应该都比较熟悉。

csv理论上可导入sql server,但用excel另存为的csv文件在导入时有可能会遇到问题,需要用第三方工具转换。

csv是个通用格式,存储的行数远超100万行,只是在excel工作表中只能加载这么多,在powerquery中则远远不止,几千万行都是可以的。powerquery也是一个容器,其思路是体积较大的文件在导入后,经过pq的M语言或powerpovit的dax函数处理后的结果再导入到工作表,这两个功能也是powerbi的主要功能,excel和powerbi是互通的,只是powerbi更侧重于数据展示,可以形成很多特有的分析图形,并发布到网页上。

网页版excel

另外如果要在python中处理几十万行的文档,最好能转换为csv再处理,因为xlsx的读取速度比较慢。

Python读取Excel非常慢,应该如何优化?

txt和csv有些类似,也是加了分隔符,扩展名改成csv也能在pq里导入。或pq中选全部文件格式,直接选txt也可以。

pdf格式人所皆知,xps相当于是微软退出类似pdf的文件格式,没能普及。

ods文件是opendocument工作表,用于和其他办公软件兼容的,如openoffice等。微软将2007版改成xml结构的原因之一也是为了提高兼容度。

mht、mhtml是网页文件,最早网页文件是html,分为一个框架文件,以及一个放图片等内容的文件夹,mht可以将两者合并在一个文件里,浏览器里有插件可将网页下载为这种格式。

二、wps的vba插件wps装一下这个插件就能用vba了,不用会员。

不过在wps中运行vba代码,似乎有少数函数会不兼容,大部分情况还是能运行的,可以搜索 VBA FOR WPS7.0.1590 下载了来用。

三、批量格式转换

批量文档格式转换可用office tool plus
批量文档格式转换可用office tool plus

批量格式转换用vba也能实现,不过有免费工具还是直接用工具吧。

四、加密xls等2003版的文件密码机制比较薄弱,以前有秒破的软件,xlsx等加密机制就已增强,只能暴力破解,现在破解器也有用字典和GPU加速的,对于无规则的较长的强密码仍很消耗时间。另外密码支持中文,使用中文输入法无法直接录入密码框,但可先记录在记事本中,再复制进去,中文字符比较多,有数万个,使用冷僻字的话,使用暴力破解都很难搞定,有很多破解器都不一定支持中文。再加点难度的话,也可使用unicode大字符集,其中包含的文字特别多,甚至还有苏美尔文明的楔形文字,也可以用于加密(我已测试通过)。=UNICHAR(SEQUENCE(1000000))
加密EXCEL
有关这里面的楔形文字,其实以前是因为工作原因偶尔发现的,因为那时有一些冷僻字没有包含在软件系统的字符库内,无法录入或生成部分人员姓名中的文字,我想要找到原因,让软件公司调整字符库,就在unicode字符集内寻找包含所有中文的范围,为便于检查,就用函数生成了所有字符,刚好发现了里面的楔形文字。

作者:jaffedream
链接:https://www.zhihu.com/question/307048815/answer/1951229161885655562
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。