SoftOrbits 出品的Excel 电子表格比较与合并工具把 Excel 文件合并器和比较工具集成在一个窗口中。它能把一个文件夹的工作簿合并成一个文件,然后显示表格两个版本之间的变化。文件由程序自行读取,执行任务的电脑上无需安装 Excel。
下载电子表格比较与合并工具,把工作簿拖入列表,或添加整个文件夹。CSV 导出文件可以和工作簿放在同一批次中。列表中设定的顺序就是写入时使用的顺序。
"按顺序"会把第 1 列放在第 1 列下面。"按标题"则根据列标题而不是位置来匹配列。即使各文件的列不同,数据也会落到正确的位置,结果中会保留任何文件中出现过的每一列。
把旧文件放在左侧,新文件放在右侧。两个网格同步滚动。更改的值用一种颜色标出,更改的公式用另一种颜色,新增或消失的行也有各自的颜色。图例位于网格旁边。
将输出文件命名为 .xlsx 或 .csv,扩展名决定格式。差异可以导出为单元格带填充色的 XLSX、可供脚本读取的 CSV 列表,或用于打印的 HTML 或 PDF 报告。
根据 Microsoft 文档的说明,Power Query 只有在文件具有"相同的结构和相同的扩展名"时才能合并。在 r/excel 上,有位用户花了大约三个小时,试图合并两个表头略有不同的文件。电子表格比较与合并工具不需要这类设置。添加文件,选择按顺序或按标题,然后点击按钮即可。
根据 Microsoft 支持页面,Excel 仅在 Microsoft 365 企业应用版中提供内置的电子表格比较功能("Spreadsheet Compare")。个人版、家庭版、商业版和专业版订阅均不包含它,而且 Inquire 加载项必须手动启用。本程序适用于任何 Office 版本,电脑上没有 Office 也能运行。
基于浏览器的比较工具会要求您上传文件。对于工资数据或客户价目表,在许多公司里这一点就足以否决。电子表格比较与合并工具在您的电脑上运行,把输出写在源文件旁边,不上传任何内容,也不需要账户。
比较视图会标出更改过的值、公式和格式,以及新增或消失的行、添加或删除的列、添加或删除的工作表。九类差异均有名称并分别计数。"上一个"和"下一个"可逐一跳转。
按标题匹配时,程序会汇总整批文件中出现的所有标题,并统一大小写、去除首尾空格。标题为空的列按位置匹配。同一文件中出现两次的标题会保留为两列,因为合并它们会把两种不同的东西混在一起。
无法读取的工作簿会在报告中单独占一行,其余文件继续处理。Excel 每个工作表最多 1,048,576 行,因此一旦合并会超过这个上限,程序就会停止并给出提示。使用 1904 日期系统的工作簿会在读入时转换,避免日期偏移四年。
五十个各有 10,000 行的工作簿,8.64 秒即可合并为 500,001 行,内存峰值为 220 MB。随着文件增加,内存占用呈线性增长。一对 100,000 行的工作表 6.56 秒即可比较完毕。这些数据来自我们自己的测试。
XLSX 导出会保留填充色,并把图例放在单独的工作表中,因此没有安装本程序的人也能用 Excel 打开。无论界面语言是什么,CSV 导出都使用固定的英文表头:Sheet, RowLeft, RowRight, Cell, OldValue, NewValue, Type。也可以生成用于打印的 HTML 或 PDF 报告。
按行数或某一列的值决定在哪里拆分。每个部分都会重复表头,文件名中的序号会补零,让资源管理器按 01、02、10 而不是 1、10、2 排序;程序也不会让拆分出的部分覆盖正在拆分的文件。
到了月末,十几个分支机构的导出文件一齐送来,格式却各不相同。把它们合并到一张表中做数据透视,再把本月的价目表与上个月的进行比较,只看变化的部分。
CRM 和仓储系统分块导出数据,一次就是四十个 CSV 文件,分隔符全看数据源当时怎么定。把它们合并起来;或者反过来,在分发之前把一张总表拆分成每个分支机构一个文件。
两个配置工作簿,一个来自 UAT 环境,一个来自生产环境。它们有共同的键列,按该列对齐行,几秒钟就能得出差异。差异的 CSV 列表随后可以直接交给脚本处理。
只写入 .xlsx 和 .csv。旧的二进制格式无法读取,请先在任意电子表格程序中将其另存为 .xlsx。