Excel 文件合并

把几份表格并成一份,先选合并方式再挑要参与的表,合并前能看清每张表有多少行多少列。

支持 xlsx、xlsm、xls 和 csv、tsv,可以一次多选,也可以直接拖到这个面板里。多工作表的工作簿会把每张表单独列出来。全部在本机读取,文件不会上传。

选择或拖入 Excel、CSV 文件后开始合并

关于表格合并

工作表名有硬限制。Excel 规定工作表名最长 31 个字符,不能包含冒号、斜杠、反斜杠、问号、星号和方括号,也不能叫 History(保留名),同名的表不允许共存。合并时会把「文件名-原表名」拼起来,超长截断、非法字符换成短横线、重名自动加序号。如果名字被改动过,对应关系在结果列表里能核对。

表头是拼接的唯一依据。把多个文件拼到同一张表时,工具会拿第一个文件的表头当列顺序标准,其余文件丢掉自己的表头按位置往下接。所以列顺序不同的文件拼出来会串列——这是位置对齐的固有风险,不是 bug。稳妥的做法是先把各文件的表头调整成一致,或者干脆用「每张表一个工作表」的方式合并,那个模式不做任何对齐,内容原封不动。

数字和日期不会变成文本。合并走的是单元格级的二维数组,数字还是数字、日期还是日期,不会像 CSV 那样全变成字符串。这样拼完还能直接求和、排序。代价是每个文件的格式设置(列宽、字体、条件格式、公式)都不会带到结果里,只有值和基础日期格式会保留。要连格式一起合并,只能用桌面版 Excel 的复制粘贴或 Power Query。

CSV 要不要一起合并。CSV 本质是一张表,能直接当工作表读进来,所以可以和 xlsx 混着合并。但 CSV 没有列宽、没有类型信息,读进来时长数字串(比如身份证号、银行卡号)可能被识别成科学计数法,前导零也可能丢。这类数据建议先在 Excel 里转成文本格式再合并,或者单独处理。

特别大的表会被浏览器限制。xlsx 是在内存里解析的,一张几十万行的表会占掉几百 MB 内存,浏览器标签有内存上限,太大就会崩。经验上单文件几万行、总量十万行以内是安全的。更大的数据量应该用 Python 的 pandas 或命令行的 csvkit、Miller 这类工具处理,它们不受浏览器限制。

合并过程中保留了什么

保留的是「值和基础日期类型」。公式会被固化成它上次计算出来的结果(xlsx 里存的本来就是缓存值),合并后的表格里不会再自动跟着上游变化;条件格式、数据验证、批注、图表、透视表、合并单元格的样式一概不会跟着走。如果你需要连公式和格式一起合并,桌面版 Excel 的 Power Query 才是正解:把几个文件放到同一个文件夹,「数据」→「获取数据」→「从文件夹」,它每次刷新都会把新文件自动纳入。

另外提醒一句:合并前最好确认各文件的表头完全一致(同样的列、同样的顺序、没有合并单元格)。工具能做的只是「按位置接」,它不会替你猜「客户名称」和「客户名」是同一列。粘完表头再合并,比事后一列一列核对划算得多。