Excel 按列拆分 / 一表拆成多个表

按某一列的值(部门、地区、班级等)把一张 Excel 或 CSV 拆成多个表:每个值一个 xlsx 打包下载,或一个工作簿里每个值一个 sheet。保留表头和原行序,身份证号不变形。浏览器本地处理,文件不上传,免费无需登录。

另见 多个 Excel 合并、CSV 列选择、名单表格整理场景。

文件只在本机处理 · 不上传

三步完成

  1. 选择或拖入一个 xlsx / xls / xlsm / csv 文件,选工作表和表头所在行(默认第 1 行)
  2. 选按哪一列拆分,看预览里每个值有多少行、会生成什么文件名或 sheet 名
  3. 选输出方式:每个值一个 xlsx 打包成 zip,或一个工作簿里每个值一个 sheet,导出

使用限制

  • 每个输出都带表头,数据行保持原来的先后顺序;表头行以上的内容(如标题行)不会带到输出里
  • 单元格值去掉首尾空格后相同就算同一个值(如「销售部」和「销售部 」会合并);空白值归入「(空)」;完全空白的行会被跳过
  • 导出的是单元格的值:公式只保留计算结果,格式、合并单元格、图片和批注不会保留
  • 单个文件不超过 25MB,最多拆成 1000 个值;加密的工作簿无法读取

常见问题

拆分后的文件名或 sheet 名为什么和原值不一样?
Excel 的 sheet 名不能超过 31 个字符,也不能包含 [ ] : * ? / \ 这些字符。拆分时这些字符会替换成下划线(如「A/B组」变成「A_B组」,「研发:一部」变成「研发_一部」),超长的名称截到 31 个字符;替换后重名的(包括只差大小写的,如 Team 和 team)会自动加上 (2)、(3)。预览里会列出每个值最终的名称。
那一列是空白的行去哪了?
放进名为「(空)」的文件或 sheet 里,不会丢。整行都是空白的行会被跳过。
身份证号和前导零会变吗?
不会。开启「数字按数值写入」时,18 位身份证号(含末位 X)、以 0 开头的编号(如 00128)和超过 15 位的数字始终按文本写入,原样保留;金额等其他数字按数值写入。关闭这个选项则所有单元格都按文本写入。
表格第一行是标题,不是表头怎么办?
把「表头所在行」改成真正表头的那一行(比如第 2 行),列名下拉框和预览会随之更新;表头以上的行不会出现在输出里。
最多能处理多大的表?
单个文件上限 25MB。实测 60 万行 × 8 列(约 24MB)的 xlsx 在桌面 Chrome 里读取约 20 秒、导出约 11 秒;30 万行约 9 秒读取、5 秒导出。
文件会上传吗?
不会。表格在你的浏览器里读取、拆分并生成 xlsx 或 zip,可以打开开发者工具的 Network 面板确认没有上传请求。

隐私说明:文件与文本均在你的浏览器本地处理,不会上传到服务器(详见 信任与隐私)。