十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Git XL 支持哪些 Excel 格式?xls/xlsx/xlsm/xlsb 等 9 种类型全面解析

Git XL 支持哪些 Excel 格式?xls/xlsx/xlsm/xlsb 等 9 种类型全面解析 Git XL 支持哪些 Excel 格式xls/xlsx/xlsm/xlsb 等 9 种类型全面解析【免费下载链接】git-xlGit extension: Makes git-diff work for VBA in Excel workbooks (xls* file types)项目地址: https://gitcode.com/gh_mirrors/gi/git-xlGit XL 是一个开源的 Git 扩展工具让git diff命令能够直接对比 Excel 工作簿中的 VBA 宏代码。本文完整解析 Git XL 支持的 9 种 Excel 格式xls、xlt、xla、xlam、xlsx、xlsm、xlsb、xltx、xltm帮助新手快速判断自己的工作簿是否被支持以及不同格式在版本对比中的实际表现。为什么需要 Git XLExcel 工作簿对 Git 来说是一个黑盒二进制文件。默认执行git diff时Git 只会提示二进制文件不同完全看不出你改了什么。Git XL 通过安装一个自定义的 diff 驱动diffxl自动从工作簿中提取 VBA 代码模块再像对比普通源代码一样逐行显示增删改——无需打开 Excel也不需要安装 Office它直接解析工作簿文件。9 种 Excel 格式完整清单 Git XL 支持的 9 种格式在源码 src/cli.py 中以常量列表统一定义第 12 行FILE_EXTENSIONS按年代 × 用途可以分为三大类格式扩展名存储类型是否可含宏典型用途经典工作簿.xls二进制OLE2✅Excel 97–2003 工作簿经典模板.xlt二进制OLE2✅旧版工作表模板经典加载项.xla二进制OLE2✅旧版 Excel 加载项宏加载项.xlam二进制OLE2✅旧版宏加载项工作簿.xlsx压缩 Open XML❌2007 标准工作簿宏工作簿.xlsm压缩 Open XML✅2007 含宏工作簿二进制工作簿.xlsb二进制✅大型/高性能工作簿新式模板.xltx压缩 Open XML❌2007 工作表模板宏模板.xltm压缩 Open XML✅2007 宏模板各格式详解你的文件属于哪一类旧版二进制家族xls / xlt / xla / xlam这是 Excel 97–2003 时代的 OLE2 复合文档格式VBA 项目直接内嵌在文件中。Git XL 通过olevba3解析器见src/diff.py中的VBA_Parser提取全部宏模块是最常见的支持场景。新版 Open XML 家族xlsx / xlsm / xltx / xltm2007 之后 Excel 改用 ZIP 压缩的 XML 格式。其中xlsx 和 xltx 本身不能保存宏但同样在支持列表里——如果你后续给工作簿升级成宏版本格式切换后依然无缝对比。日常使用中最常见的是xlsm含宏工作簿。二进制工作表xlsb.xlsb是 Excel 2007 的二进制保存格式文件体积更小、打开更快且支持 VBA。项目自带测试样例 Book1.xlsb官方示例正是用它演示 diff 效果。安装后 Git 自动为 9 种格式做什么 ⚙️执行git xl install后Git XL 会做两件关键的事逻辑同样定义在src/cli.py第 13–14 行写入.gitattributes为全部 9 种扩展名注册*.ext diffxl让 Git 对 Excel 文件启用专属 diff 驱动写入.gitignore自动忽略~$*.ext开头的临时锁文件避免 Excel 打开工作簿时产生的~$Book1.xlsx之类的幽灵文件污染提交记录。安装后git diff的输出效果如下diff --xl a/Book1.xlsb b/Book1.xlsb --- a/Book1.xlsb/VBA/Module/Module1 b/Book1.xlsb/VBA/Module/Module1 -1,4 1,4 Option Explicit Public Function Version() As String - Version v1.0 Version v1.1 End Function宏代码的每处改动一目了然和对比 Python、JavaScript 源码的体验完全一致。快速上手三步开始对比你的 Excel 文件 获取仓库源码git clone https://gitcode.com/gh_mirrors/gi/git-xl全局安装一次安装所有仓库生效git xl install如果只想对当前仓库生效改用git xl install --local。在任意包含 Excel 文件的仓库中执行git diff即可看到 VBA 代码级对比。 小提示Git XL 基于 Python 开发Windows 提供预编译安装程序无需手动配置运行环境。常见问题 FAQ Q1Git XL 支持 csv、WPS 的 et 格式吗不支持。支持范围严格限定为上述 9 种xls*系列格式。Q2我的 xlsx 里没有任何宏还能用吗可以。.xlsx在支持列表中但若文件中没有 VBA 代码diff 不会产生内容差异。对于纯数据工作簿建议搭配 Git LFS 等工具管理。Q3对比时需要打开 Excel 吗不需要。Git XL 直接解析工作簿文件提取 VBA 模块命令行即可完成CI 环境同样可用。Q4想看看支持逻辑怎么实现的9 种扩展名清单与diffxl规则见 src/cli.pyVBA 提取与逐行对比的核心算法见 src/diff.py相关行为测试在 test_cli.py 中有完整覆盖。小结Git XL 完整覆盖xls、xlt、xla、xlam、xlsx、xlsm、xlsb、xltx、xltm共 9 种 Excel 格式无论你使用的是旧版二进制工作簿还是新版 Open XML 宏工作簿都能获得代码级的版本对比能力。如果你的仓库里正在管理带宏的 Excel 文件它就是让git diff真正看得懂 Excel 的开源方案。【免费下载链接】git-xlGit extension: Makes git-diff work for VBA in Excel workbooks (xls* file types)项目地址: https://gitcode.com/gh_mirrors/gi/git-xl创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表