填入 Excel 指定单元格

 

有一些数据需要填写到已经存在的Excel文件中的指定单元格里,这时可以用SPL中的xlscell函数来实现数据填写。既可以填写一个单元格,也可以填写连续的一片单元格,此时要填写的数据结构为:同行连续格间数据用Tab(\t)分隔,相邻行间数据用回车键(\n)分隔。

 

举例

有砂筒实验数据汇总表book1.xlsx如下图所示:

..

假如已经得到实验主频(Frequency)数据,需要填入此表中,编写SPL脚本:


A

B

1

A1   1 1132
A1   2 1102
......  
A2   1 1035
......  
A3   10 962

2

=A1.import().group(_1)


3

=file("E:/work/book1.xlsx").xlsopen()


4

for   A2

>col=int(right(A4._1,-1))*2+1

5


=A3.xlscell(cellname(5,col),1;A4.(_3).concat("\n"))

6


=A3.xlscell(cellname(15,col),1;A4.(_3).avg())

7

=file("E:/work/book1.xlsx").xlswrite(A3)


A1   要填入的主频数据,第1列是砂筒号,第2列是序号,第3列是主频,省略号表示还有更多类似数据

A2   将实验数据读成序表并按第1列分组

A3   打开book1.xlsxExcel对象

A4   循环每组实验数据

B4   计算数据要填入的列号col=砂筒号去掉首位字母后的数字*2+1

B5   将当前组中的第3列数据用\n连接成串后,填入第5行第col列单元格。会从此格开始依次往下行填写10个单元格

B6   将当前组中的第3列数据平均值填入第15行第col列单元格。所填的是单个数据,只填写这一格

A7   A3Excel对象保存到文件book1.xlsx