xlsexport ()

阅读(940) 标签: xlsexport,

本章介绍xlsexport()函数的多种用法。

f.xlsexport()

描述:

将序表/游标写入Excel文件

语法:

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

备注:

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

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

若在文件f中存在sheet s,则会使用s原有的格式。

选项:

@t

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

@c

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

@a

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

@w

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

@p

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

参数:

f

文件

A

需要输出的序表/游标

x

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

F

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

s

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

p

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

示例:

 

A

 

1

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

 

2

=file("D:\\EMPLOYEE1.xls").xlsexport(A1;"employee";"123")

导出带有打开权限密码的xls文件,密码为:123

3

=file("D:\\EMPLOYEE2.xls").xlsexport@t(A1;"employee")

 

@t选项,第一行作为标题写入

4

=file("D:\\ EMPLOYEE4.xls").xlsexport@t(A1,EID,NAME:name;"employee")

指定导出的字段并且导出到名为employee sheet

5

=file("D:\\EMPLOYEE4.xl").xlsexport@t(A1;"employee")

判断不出文件扩展名,导出成xls格式的EMPLOYEE4.xl文件

6

=demo.cursor("select EID,NAME,SURNAME from EMPLOYEE")

 

7

=file("D:\\EMPLOYEE5.xls").xlsexport(A6;"employee")

A6是游标

8

=file("D:\\EMPLOYEE2.xls").xlsexport@t(A1)

省略sheet名时在第一页内容下边追加写,并认为最后一个有内容的行是标题,标题覆盖最后一行。

9

=file("D:\\EMPLOYEE7.xls").xlsexport(A1;#1,#2)

导出前两列

10

=demo.query("select * from DEPT where DEPTID <=5")

 

11

=file("D:\\DEPT.xls").xlsexport@a(A1)

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

使用@a,追加后内容为:

文件存在,延用最后一行的格式继续写

12

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

A12格结果为序列的序列

13

=file("expfile1.xls").xlsexport@w(A12)

A12格的数据内容写到expfile1.xls中,写出的xls内容如下:

14

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

A14格内容如下:

15

=file("expfile2.xls").xlsexport@w(A14)

A14格的数据内容写到expfile2.xls中,写出的xls内容如下:

16

=file("exp_p.xls").xlsexport@wp(A12)

A12中的数据行列转置后写入Excel

相关概念:

f.export()

f. xlsimport ()

xo.xlsexport()

描述:

Excel对象中写入序列。

语法:

xo.xlsexport(A, x:Fi,..;s)

备注:

向页名或页码为sExcel sheet中写入序列,若Excel中不存s时则新增sheet sxoExcel对象,当xo@w形式读出的Excel对象时,参数A可以是游标或者序表;当xo为其他形式读出的Excel对象时,A只能是序表。

Excel sheet中写入序列后,需要通过xo.xlswrite()函数对写入的序列保存,此时查看Excel文件才会显示出刚写入的内容。

参数:

xo

@r方式读出的Excel对象

A

游标/序表

x

需要写入的列名,省略时表示写入全部列

Fi

列别名;省略时表示以原名写入

s

页名/页码,sheet名称不允许超过31个字符,并且不能包含特殊字符[]:/\?*

选项:

@t

导出标题,当此页上已有内容时,则导出的标题会覆盖本页最后一行内容

@a

s已存在时,延用格式追加写,缺省将覆盖

示例:

 

A

 

1

=demo.query("select * from scores")

返回序表

2

=file("E11.xlsx")

 

3

=A2.xlsopen()

读取文件E11.xlsx,返回Excel对象

4

=A3.xlsexport@t(A1)

A1中的序表写入到Excel对象中

5

=A3.xlsexport@t(A1,CLASS:class,STUDENTID:sid;"Class")

Excel对象中新建名称为Classsheet页,并将A1序表中的CLASSSTUDENTID列分别重命名后写入Class页。

6

=A3. xlsexport@a(A1,STUDENTID,SUBJECT,SCORE; "STUSCORE")

Excel对象中存在名称为STUSCOREsheet页并且存在数据,将A1序表中的STUDENTIDSUBJECTSCORE列追加写入STUSCORE

7

=A2.xlswrite(A3)

通过xlswrite函数将Excel对象保存到E11.xlsx