本帖最后由 风雪 于 2022-5-5 10:33 编辑
每行有27个公式,当添加多行的时候贴别慢,5行以下速度还可以接受。是否有建议提供。添加行的代码如下:
let sheet = this.spread.getActiveSheet();
this.sheet = sheet;
if (this.sheet) {
var rows = this.sheet.getRowCount(GC.Spread.Sheets.SheetArea.viewport);
//增加行数开始
if(this.addRowNum<=0 || this.addRowNum==null){ //addRowNum为录入需要添加行数
this.addRowNum=1
}
sheet.addRows(sheet.getRowCount(SheetArea.viewport), Number(this.addRowNum));
//增加行数结束
// this.addArrayFormula();
var startrow=rows+1;
for(var i=0;i<Number(this.addRowNum);i++){
var stringFomular = '';
if (startrow >= 1) {
for (let index = 0; index < this.conlumnCount; index++) {//设置公式
//列是动态生成,公式也是动态生成
var range = new GC.Spread.Sheets.Range(startrow-1, index*3+17, 1,1);
var value = GC.Spread.Sheets.CalcEngine.rangeToFormula(range, 0, 0, GC.Spread.Sheets.CalcEngine.RangeReferenceRelative.allRelative);
stringFomular = '=ROUND('+value+'*N'+startrow+'*O'+startrow+',0)';
this.sheet.setFormula(startrow-1, index*3+18, stringFomular);
}
}
startrow=startrow+1
}
this.sheet.getRange(0,0,this.sheet.getRowCount(),this.sheet.getColumnCount()).locked(false);
}
|