填入 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