如何把 Excel 大文件拆分成几个小文件

 

例题描述

有过百万行的订单表文件orders.xlsx,部分数据如下图所示:

..

现需要把这个大文件拆分成一些小文件,有两种拆法:

1、  按分类拆分,比如每个州的订单数据存为一个文件。

2、  简单按行数拆分,每10万行存为一个文件。

 

实现步骤

1、  运行集算器

可去润乾官网下载职场版,同时下载一个免费授权就够了,首次运行时会提示加载。

2、  编写脚本:

1)按分类拆分

..

把代码列出来看得清楚点:


A

B

C

D

1

>dir="E:/orders/"




2

=file(dir+"orders.xlsx").xlsimport@tc()



3

for A2,50000

=A3.group(state)



4


for B3

=file(dir+B4(1).state+".xlsx")


5



if C4.exists()

=C4.xlsexport@a(B4)

6



else

=C4.xlsexport@t(B4)

A1   定义保存文件的目录

A2   打开orders.xlsx,内存有可能装不下所有数据,选项@c表示以游标的方式打开,选项@t表示首行是列标题

A3   A2的游标循环取数,每次取50000

B3   对当前取出的数据按州进行分组

B4   循环处理每个分组()

C4   定义保存各组数据的文件,以州名作为文件名

C5D5   如果文件已存在,则用选项@a追加写入当前分组的数据

C6D6   如果文件不存在,则用选项@t写入当前分组的数据,首行写入列标题

 

2)按行数拆分

编写代码如下:


A

B

1

>dir="E:/orders/"


2

=file(dir+"orders.xlsx").xlsimport@tc()

3

for A2,100000

=file(dir+"orders_"/#A3/".xlsx").xlsexport@t(A3)

A1   定义保存文件的目录

A2   打开orders.xlsx,内存有可能装不下所有数据,选项@c表示以游标的方式打开,选项@t表示首行是列标题

A3   A2的游标循环取数,每次取100000

B3   将当前取出的数据保存到新文件里,#A3表示A3中循环的次数

 

 

3、  F9运行这段程序,运行结束后就可以在E:/orders目录中看到拆分出的文件。

 

 

【附件】 split.zip