Excel 按列拆分 / 一表拆成多个表
按某一列的值(部门、地区、班级等)把一张 Excel 或 CSV 拆成多个表:每个值一个 xlsx 打包下载,或一个工作簿里每个值一个 sheet。保留表头和原行序,身份证号不变形。浏览器本地处理,文件不上传,免费无需登录。
另见 多个 Excel 合并、CSV 列选择、名单表格整理场景。
文件只在本机处理 · 不上传
三步完成
- 选择或拖入一个 xlsx / xls / xlsm / csv 文件,选工作表和表头所在行(默认第 1 行)
- 选按哪一列拆分,看预览里每个值有多少行、会生成什么文件名或 sheet 名
- 选输出方式:每个值一个 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 面板确认没有上传请求。
隐私说明:文件与文本均在你的浏览器本地处理,不会上传到服务器(详见 信任与隐私)。