复杂 Excel 表格导入导出的最简方法( 二 )


导入效果:

复杂 Excel 表格导入导出的最简方法

文章插图
 
5、主子表
表格样式:
复杂 Excel 表格导入导出的最简方法

文章插图
 
集算器脚本:
复杂 Excel 表格导入导出的最简方法

文章插图
 
脚本说明:
A1:创建列名为“身份证号, 姓名, 性别, 出生日期, 民族, 手机号, 部门, 家庭地址, 婚姻状况, 入职时间”的空序表,用于保存主表员工信息;
A2:创建列名为“身份证号, 姓名, 关系, 工作单位, 联系电话”的空序表,用于保存子表员工家庭成员信息;
A3:定义主表员工信息所在单元格序列;
A4:打开 Excel 数据文件;
A5:循环读取 Excel 文件各 sheet 数据;
B6:读取员工信息序列;
C6:将 B6 读取的员工信息保存到序表 A1;
B7:从第 6 行开始读取员工家庭成员信息,只读指定的“家庭成员, 姓名, 关系, 工作单位, 联系电话”5 列;
B8:将 B7 序表的家庭成员列改名为身份证号;
C8:为 B8 序表的身份证号列赋值为员工信息中的身份证号;
B9:将 B8 中的员工家庭成员信息保存到序表 A2 。
导入效果:
序表A1如下图:
复杂 Excel 表格导入导出的最简方法

文章插图
 
序表A2如下图:
复杂 Excel 表格导入导出的最简方法

文章插图
 
上面这些情况基本罗列了常见的 Excel 数据格式,如果遇到更复杂的文件,也可以灵活使用例子中的技巧予以应对 。
导出
基础篇
1、单纯导出数据
(1)导出新文件
集算器脚本:
复杂 Excel 表格导入导出的最简方法

文章插图
 
脚本说明:
A1:读入文本格式的某企业订单表,用来模拟可能通过计算得到的数据;
A2:将 A1 的数据导出到 orders.xlsx 文件中 (如果文件不存在,程序运行时会自动创建) 。例子中导出函数 xlsexport 参数中没有指定 x 和 F,因此将导出 A1 中的所有字段,同时保持字段名不变 。由于没有指定参数 s,所以会导出到 sheet1 中 。而函数使用了选项 @t,因此会将字段名导出到第一行 。
导出效果:
复杂 Excel 表格导入导出的最简方法

文章插图
 
(2)追加数据
集算器脚本:
复杂 Excel 表格导入导出的最简方法

文章插图
 
脚本说明:
A1:读入文本格式的某日订单数据表;
A2:导出时不要加函数选项 @t,因为文件中已有标题,只需导出数据 。由于文件已存在,因此会自动追加在原来数据的后面 。
(3)导出到不同 sheet
集算器脚本:
复杂 Excel 表格导入导出的最简方法

文章插图
 
脚本说明:
A1:读入文本格式的某企业订单表;
A2:对序表 A1 进行过滤,只选出公司名称为山泰企业的数据记录;
A3:将新序表 A2 导出到 orders.xlsx 中,只导出订单 ID、公司名称、订购日期、订单金额四个字段,并将订购日期改名为日期,订单金额改名为金额,数据导出到一个名为山泰企业的新 sheet 中 。
导出效果:
复杂 Excel 表格导入导出的最简方法

文章插图
 
2、导出大量数据
集算器脚本:
复杂 Excel 表格导入导出的最简方法

文章插图
 
脚本说明:
【复杂 Excel 表格导入导出的最简方法】A1:读入文本格式某数据量较大的表;
A2:将游标所指的大数据导出到 big.xlsx 文件中 。在用游标导出时,要添加 @s 这个函数选项,这样在导出时就会以流式导出,产生的 excel 结果文件也不会占用在内存中 。
导出效果:
复杂 Excel 表格导入导出的最简方法

文章插图
 
注:
本例中导出了 130727 条数据记录 。事实上我们可以导出上亿条记录也不在话下,不过 excel 文件的一个 sheet 最多只能存放 1048576 行数据,所以当导出数据超过百万行时,会在 excel 中新增一个 sheet 来保存 。
3、指定显示属性
除了直接导出数据,有时我们还希望生成的 excel 文件能够显示得比较美观,比如可以指定字体、颜色、背景色、对齐方式、显示格式等 。这时,只要我们预先建好这个 excel 文件(模板),定义好我们需要的这些显示属性,然后再用集算器向这个文件中导出数据,定义好的显示属性就会随之呈现 。


推荐阅读