我正在使用 NPOI 在 C# 中生成 Excel 电子表格。当我以编程方式在某些单元格上应用公式并导出到 Excel 时,在 Excel 工作表的保护模式下,所有具有公式的单元格都显示“0”值。但是当我编辑此电子表格时,所有公式都可以在这些单元格上正常工作。
有什么解决方案可以使应用的公式也可以在保护模式下工作吗?
设置公式后必须对其进行评估:
cell = row.CreateCell(j++);
cell.SetCellType(CellType.FORMULA);
cell.SetCellFormula(String.Format("$B$1*B{0}/$B$2*C{0}", i));
cell.CellStyle = styleCell;
if(wb is XSSFWorkbook) {
XSSFFormulaEvaluator.EvaluateAllFormulaCells(wb);
} else {
HSSFFormulaEvaluator.EvaluateAllFormulaCells(wb);
}