从大数据量的 Excel 文件中读取多种类型的数据
例题描述和简单分析
有 Excel 文件 test-file.xlsx,数据如下所示:
Number |
Date(mostly) |
Date(mostly) |
1234567 |
2020/1/1 |
|
1234581 |
2020/1/15 |
2020/1/16 |
asdf |
asdf |
|
qwer |
123 |
|
zxcv |
456 |
|
123 |
qwer |
同列中可能有字符串、日期、数字类型的数据,并假定 Excel 的数据量很大,在控制台输出读取结果,如下:
Number,Date(mostly),Date(mostly)
1234567,2020-01-01,null
1234581,2020-01-15,2020-01-16
asdf,asdf,null
qwer,123,null
zxcv,456,null
123,qwer,null
解法及简要说明
在集算器中编写脚本 p1.dfx,如下所示:
A |
B |
|
1 |
=file("test-file.xlsx").xlsimport@c() |
|
2 |
for A1 |
>output(A2(1).array().concat@c()) |
简要说明:
A1 读取 Excel 数据,@c 表示返回成游标
A2 遍历 A1,每次读一行数据
B2 将 A2 的这一条记录按列间用逗号分隔拼成串,输出至控制台
JAVA 集成这段代码的方法可参考:《Java 如何调用 SPL 脚本》。
英文版