填入 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.xlsx为Excel对象
A4 循环每组实验数据
B4 计算数据要填入的列号col=砂筒号去掉首位字母后的数字*2+1
B5 将当前组中的第3列数据用\n连接成串后,填入第5行第col列单元格。会从此格开始依次往下行填写10个单元格
B6 将当前组中的第3列数据平均值填入第15行第col列单元格。所填的是单个数据,只填写这一格
A7 将A3的Excel对象保存到文件book1.xlsx中