f.xlsexport()

阅读(1767) 标签: 序表, 写入, excel文件,

描述:

将序表/游标写入Excel文件。

语法:

f.xlsexport(A,x:F,…;s;p)

备注:

将序表或游标A写入Excel文件f,无参数x则写入所有字段。文件f不存在时会自动创建文件f(不能自动创建路径目录),f存在时则替换掉原文件f

写入Excel时,A超出sheet页极限行后自动停止写入,xlsx文件的极限行数为1048576xls文件的极限行数为65536

选项:

@t

以第一条记录作为标题写入文件,原文件存在时认为最后一个有内容的行是标题。

@c

使用流式写出大文件,原文件要被全读入,不可太大。

@a

原文件和原sheet存在时,将延用最后一行的格式继续写;

若在原文件存在且其中不存在sheet s,则会自动在此文件中添加sheet s

@k

原文件存在时将保留,仅替换原文件中的sheet,参数s省略时替换原文件中的第1sheet页,有s参数时则替换s页。

@w

当参数A是序列的序列或者A是由/tab分隔的串时,使用该选项,@w@t@c互斥,且使用@w时无x:F参数。

@p

当参数A为序列的序列时,使用该选项,行列内容转置后写入Excel文件,@p必须与@w同时使用。

@m

写入Excel时,A超出sheet页极限行时自动增加新的sheet写入。

参数:

f

文件。

A

需要输出的序表/游标。

x

需要输出的字段,省略则导出A排列/游标中所有可文本化字段#时表示用序号定位。

F

结果字段名,省略则使用原字段名。

s

sheet名,省略时在第一个sheet中追加。sheet名称不允许超过31个字符,并且不能包含特殊字符[]:/\?*

p

导出Excel文件的打开权限密码。

示例:

导出带密码的xls文件:

 

A

 

1

=connect("demo").query("select top 10 EID,NAME,SURNAME from EMPLOYEE")

返回序表:

2

=file("e1.xls").xlsexport(A1;"employee";"123")

将序表A1中数据导出到e1.xls中名为employeesheet页中,并设置e1.xls文件的打开权限密码为:123

使用@a选项,追加写入:

 

A

 

1

=connect("demo").query("select top 10 EID,NAME,SALARY from EMPLOYEE")

返回序表:

2

=file("e3.xls").xlsexport@a(A1)

e3.xls文件中C列设置了格式,内容为:

使用@a选项,原文件和原sheet存在时将延用最后一行的格式继续写,省略sheet名参数时在第一页内容下边追加写,追加写入后内容如下:

3

=file("e3.xls").xlsexport@a(A1;"s2")

使用@a选项,原文件中不存在名为s2sheet 页时,自动添加s2页:

使用@t选项,导出带标题的xls文件:

 

A

 

1

=connect("demo").query("select top 10 EID,NAME,SURNAME from EMPLOYEE")

返回游标,内容如下:

2

=file("e2.xls").xlsexport@t(A1,EID:id,#2:name)

将游标A1中的EID、和第2个字段中数据导出到e2.xls中,并将导出的结果字段名分别定义为idname

3

=5.new(~:f1,~*~:f2)

返回序表:

4

=file("e2.xls").xlsexport@at(A3;"Sheet1")

使用@at选项,,原文件和原sheet存在时追加写入,并认为最后一个有内容的行是标题行,标题覆盖最后一行。

使用@m选项,超出Sheet的极限行数时增加新的Sheet写入

 

A

 

1

=to(1048580).new(~:ID)

生成序表,数据内容有1048580行。

2

=file("e4.xlsx").xlsexport@m(A1)

使用@m选项,写出行数超过1048576时增加新的sheet写入:

 

导出序列的序列

 

A

 

1

=file("e1.xls").xlsimport@w(;;"123")

返回序列的序列:

2

=file("e5.xls").xlsexport@w(A1)

使用@w选项,导出结果如下:

3

=file("e6.xls").xlsexport@wp(A1)

使用@pw选项,行列内容转置后写入Excel文件:

使用@k选项,写出时保留原文件仅替换原文件中指定sheet页内容

 

A

 

1

=3.new(~:ID,~*~:num)

生成序表:

2

=file("e7.xls")

e7.xls文件内容如下,包含名为s1s2sheet页,s2内容如下:

3

=A2.xlsexport@kt(A1;"s2")

使用@k选项,原文件存在时将保留,仅替换原文件中的sheet,即将A1的内容写入到e7.xls文件s2页中,写入后内容如下:

 

相关概念:

f.export()

f. xlsimport ()