使用 NPOI 在 Excel 中计算公式

问题描述 投票:0回答:1

我正在使用 NPOI 在 C# 中生成 Excel 电子表格。当我以编程方式在某些单元格上应用公式并导出到 Excel 时,在 Excel 工作表的保护模式下,所有具有公式的单元格都显示“0”值。但是当我编辑此电子表格时,所有公式都可以在这些单元格上正常工作。

有什么解决方案可以使应用的公式也可以在保护模式下工作吗?

visual-studio-2010 sql-server-2008 c#-4.0 npoi
1个回答
11
投票

设置公式后必须对其进行评估:

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);
}
© www.soinside.com 2019 - 2024. All rights reserved.