跳到主要内容
PulsarKit

Excel拆分成多个文件

把包含多个工作表的工作簿拆成单独的文件,或把一张很长的工作表按你选择的行数切成几份。

把文件拖到这里

.xlsx, .xlsm, .xls, .ods · 最大300 MB

拆分方式
更多设置

如何拆分工作簿

  1. 1

    拖入XLSX文件

    XLSX、XLSM、XLS和ODS都在浏览器里读取,工作表列表马上就会显示。

  2. 2

    选择按工作表还是按行数拆分

    按工作表拆分,每个工作表生成一个工作簿;按行数拆分,把一张工作表切成相同大小的几份,每份都重复表头。

  3. 3

    拆分并下载ZIP

    各部分放在同一个压缩包里一起下载,按源文件名加工作表名或部分编号命名。

同一个词,两种操作

按工作表拆分是归档问题:一个工作簿里有十二个月的工作表,每个部门只需要自己那一份。按行数拆分是大小问题:一张工作表有五十万行,而要导入它的系统一次只接受一万行。同一个文件,两种方式得到的结果完全不同,所以这个选择放在屏幕最前面,而不是藏在高级选项下的某个设置里。按工作表拆分会完整保留原工作表对象,包括合并单元格、列宽和行高;按行数拆分则根据单元格的值重建每个部分,并沿用列宽,让每个部分打开后依然清晰易读。

公式指向的工作表已经不在了

像=Summary!B4这样的公式,只有在包含Summary工作表的工作簿里才有意义。每个工作表变成单独的文件后,这个引用就无处可指,Excel会显示#REF!。因此默认把公式转换成它们最后一次计算得到的值;不需要重新计算,因为计算结果和公式一起保存在文件里。如果需要保留公式文本,也有这个选项,选择它时会给出警告,而不是一周后才让你意外发现问题。

拆分后不会保留的内容

图表、数据透视表、嵌入的图片、条件格式和数据验证列表不会写入输出文件。这是本项目所用的免费版SheetJS Community Edition(而不是付费版)的限制;即使用付费版,把图表内部对已不存在的工作表的引用全部改写,也是一项不小的工作。为了不让你打开某个部分时才发现一片空白,工具会先检查源文件里有没有这些内容,并在下载开始前告诉你其中有哪些。

工作簿不会离开这个标签页

读取文件、重建每个部分和打包压缩包都在你的浏览器里本地完成。没有任何内容上传,所以工资表或客户工作簿从头到尾都留在你的电脑上。

常见问题

图表和数据透视表会怎样?

它们不会带到拆分后的文件里,下载前会告诉你源文件里有哪些。在浏览器里写入XLSX所用的库无法生成它们;而且,数据区域指向已删除工作表的图表,就算重建也没有意义。

跨工作表的公式还能用吗?

工作表分到不同文件后就不能用了,引用无处可指。默认把公式替换为计算结果,这样每个部分打开时数字都是正确的;也可以保留公式文本,但会给出警告。

输出文件怎么命名?

按工作表拆分得到source-SheetName.xlsx;按行数拆分得到source-SheetName-part-001.xlsx,用三位数字编号,这样按文本排序时顺序正确。

工作簿只有一个工作表怎么办?

按工作表拆分会被拒绝,并提示原因,同时建议改为按行数拆分,这几乎肯定就是你想要的。

支持.xls和.ods文件吗?

读取是支持的。旧版二进制XLS和OpenDocument ODS都能解析,拆分出的部分始终写成新版XLSX。

工作表数量有上限吗?

除了可用内存,没有固定上限。每个工作表变成一个单独的工作簿,全部打包进一个ZIP,所以包含十二个工作表的年度报表,会变成一次下载里的十二个文件。

文件会上传到服务器吗?

不会。工作簿的解析、拆分和重新打包全部在你的浏览器里完成,不上传,也不会在任何地方保存临时副本。

相关工具