f.xlsimport()

阅读(1245) 标签: excel文件, 读出内容, 记录, 序表,

描述:

读取Excel文件内容并返回成序表。

语法:

f.xlsimport()

 

f.xlsimport(Fi,…;s,b:e;p)

f读取b行到e行的所有数据,返回成序表。

e<0表示倒数,Fi为读出的字段,缺省读出所有字段。ssheet名或第ssheet

备注:

Excel文件f中读取每行内容,将每行内容作为一个记录返回成序表。

参数:

f

Excel文件。

Fi

读出的字段,缺省读出所有,用#时表示用序号定位。

s

sheet名或序号。如果s省略则找第一个sheet

b

起始行,b省略表示从第一行开始读到e行。此时可以省略。

e

结束行,e省略表示从b行读取到最后一行,此时不可以省略。若e比实际行数大,则以实际最后行数为准。

be都省略时表示从第一行读取到最后一行。

p

Excel文件打开权限密码。

选项:

@t

f中第一行记录作为字段名,不使用本选项就使用_1_2,…作为字段名。有b参数时认为标题在b行。

@c

返回成游标,只支持xlsx格式;此时e不能小于0

@b

读取时去除Excel内容前后的空白行,与@c选项组合使用时无效。

@w

数据返回形式为序列组成的序列,成员为格值;@w@t@c@b选项互斥。

@s

返回成由/tab作为分隔符的串。

@p

必须与@w同时使用,返回由Excel列组成的序列的序列。

@n

读入时去除字符串两端的空白字符,空串则读成null

返回值:

序表

示例:

读取整个xls文件:

 

A

 

1

=file("emp1.xls").xlsimport()

2

=file("password_abc.xls").xlsimport(;;"abc")

读取带密码的xls文件,password_abc.xls的打开权限密码为abc

读取xls文件时将第一行作为标题,并读取指定字段:

 

A

 

1

=file("emp1.xls").xlsimport@t(NAME,GENDER;)

读取字段NAME,GENDER中的数据:

2

=file("emp1.xls").xlsimport@t(#1,#2;)

读取xls中第1个和第2个字段中的数据:

sheet页文件的读取:

 

A

 

1

=file("emp2.xlsx").xlsimport@t(;"t1")

emp2.xlsx中包含两个sheet页,sheet页名称分别为t1,t2

通过sheet页名称读取t1页中的数据

读取多sheet页的xls文件时,当参数s省略时默认读取第1sheet页。

2

=file("emp2.xlsx").xlsimport@t(;2)

通过sheet页序号读取第2个页中的数据。

指定起始行、结束行:

 

A

 

1

=file("emp2.xlsx").xlsimport(;2,3:6)

读取emp2.xlsx2sheet页中的第3行至第6行:

2

=file("emp2.xlsx").xlsimport@t(;2,3:6)

使用@t选项并且有b参数时,将b行数据作为标题:

3

=file("emp2.xlsx").xlsimport@t(;"t2",:6)

省略b,认为第1行为标题行并从第1行读读到第6行,不可省略:

4

=file("emp2.xlsx").xlsimport(;"t2",7:)

省略e,从第7行读到最后一行,可省略:

5

=file("emp2.xlsx").xlsimport(;"t2",3:-4)

从第3行读到倒数第4行:

读取xlsx文件内容,并返回成游标:

 

A

 

1

=file("emp3.xlsx").xlsimport@c()

返回游标。

2

=A1.fetch()

 

读取时去除Excel内容前后的空白行:

 

A

 

1

=file("emp4.xls")

2

=A1.xlsimport@b()

使用@b选项,读取时去除Excel内容前后的空白行。

数据返回形式为序列组成的序列:

 

A

 

1

=file("emp1.xls").xlsimport@w()

使用@w选项,返回序列组成的序列,每一行作为序列的成员:

返回Excel列组成的序列:

 

A

 

1

=file("emp1.xls").xlsimport@pw()

使用@wp选项,返回Excel列组成的序列,每一列作为序列的成员:

返回以/tab作为分隔符的串:

 

A

 

1

=file("emp1.xls").xlsimport@s()

使用@s选项,返回以/tab作为分隔符的串:

 

相关概念:

f.import()

f.xlsexport()