从大数据量的 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 脚本》

问答搜集

https://stackoverflow.com/questions/63765556/read-very-large-excel-file-with-date-and-non-date-numbers