有N个格式完全相同的Excel文件,要把这些文件汇总起来成为一个文件,数字单元格的值为各文件中的同名数字单元格之和。
举例
总公司有收到各分公司发来的资产负债表,其中某分公司的表格如下图所示(共有37行,图中只列出14行):

现在需要用各分公司的表格汇总出总公司的资产负债表。
编写SPL脚本:
| A | B | C | |
|---|---|---|---|
| 1 | =directory@p("e:/zcfzb/zc*.xlsx") | ||
| 2 | =A1.(file(~).xlsopen()) | ||
| 3 | =to(4,37) | [B,C,E,F] | =A3.(B3.(~/A3.~)).conj() |
| 4 | for C3 | >v=null | |
| 5 | for A2 | >v+=number(B5.xlscell(A4,1)) | |
| 6 | >A2(1).xlscell(A4,1;string(v)) | ||
| 7 | =file("e:/zcfzb/total.xlsx").xlswrite(A2(1)) |
A1 列出文件夹中要汇总的所有以zc开头的资产负债表文件名,选项@p表示列出文件全路径
A2 打开A1中列出的文件为Excel对象
A3 指定要汇总的数字单元格的行号范围4-37
B3 指定要汇总的数字单元格的列号B,C,E,F
C3 用A3行号和B3列号拼出所有要汇总的数字单元格的名称
A4 循环C3中所有要汇总的单元格
B4 定义汇总值变量v
B5 循环所有分公司资产负债表
C5 从当前分公司资产负债表中读出当前汇总单元格的值,转成数值后累加到v
B6 将完成累加后的v保存到第1个分公司的资产负债表中
A7 将第1个分公司的资产负债表保存到总公司资产负债表total.xlsx
这篇博客介绍如何利用SPL脚本来合并多个格式相同的Excel文件,将各分公司资产负债表的数据汇总到一个总的资产负债表中。脚本通过读取指定文件夹中的Excel文件,对指定单元格进行求和操作,最终将结果保存到新的Excel文件中。
685

被折叠的 条评论
为什么被折叠?



