如上图,有个一个合并的单元格内容是固定的,但后面一个合并的单元格内容不固定,行列也不固定。
一个文件包含很多表,每个表中的这个单元格内容、位置都不固定,但一定跟在左边那个固定内容的单元格后面。
本文解决:如何批量修改所有表中的这个单元格的内容。
思路:
1、遍历所有表
2、遍历每个表中的合并单元格。
3、找到固定内容的那个单元格的位置,其下一个单元格即为要修改的单元格。
代码如下:
import console;
import godking.libxl;
import string;
//批量生成工作表的表名
filepath = "\工作簿1.xlsx"
var book = godking.libxl.open(filepath);
for(i=1; book.getSheetCount();1){
var sheet = book.sheet(i);
for(n=1;sheet.getMergeCount();1){
var _,row,col = sheet.getMergeByindex(n);
var t = sheet.getCellStr(row,col);
if ..string.find(t,"@单位(子单位)"){
var _,row,col = sheet.getMergeByindex(n+1);
if row and col {
console.dump(string.format("发现:%s,位于表[%s]%i行,%i列",sheet.getCellStr(row,col),book.getSheetName(i),row,col));
} else {
console.dump("发现子单位,但后面不是要找的内容");
}
break;
}
}
}
console.pause();
运行效果如下: