模板的sheet设置了公式引用,比如有公式 ='C3'!B22 还没有C3 sheet这个时候,是无效的公式就设置为0, 如果C3 sheet如果添加了再把公式设置回来。下面这个代码很耗时,如下: for(let row=1;row<sheet.getRowCount();row++){
for(let col=0;col<sheet.getColumnCount();col++){
let cellst=sheet.getCell(row,col)
let formula=sheet.getFormula(row,col)
if(formula!=null && formula!="" && formula!=undefined){
sheet.setFormula(row,col,"=0")
sheet.setFormula(row,col,formula)
let formulaRange=GC.Spread.Sheets.CalcEngine.formulaToRanges(sheet, formula,row,col)
if(formulaRange!=undefined){
formulaRange.forEach(item => {
let formulasheetname=item.sheetName
if(!sheetnames.includes(formulasheetname)){
sheet.setFormula(row,col,"=0")
}
})
}
}
}
}
|
|