代码:
using (var deststream = new FileStream(@"Template.xlsx", FileMode.Open, FileAccess.ReadWrite))
{
var workbook = new XSSFWorkbook(deststream);
workbook.GetSheet("Data").GetRow(1).GetCell(1).SetCellValue(20);
workbook.GetSheet("Data").GetRow(9).CreateCell(4).SetCellValue("Sahaj");
workbook.GetSheet("Data").GetRow(9).CreateCell(5).SetCellValue("anand");
//Not working below formula evaluator method 1
workbook.GetCreationHelper().CreateFormulaEvaluator().EvaluateAll();
//Not working below formula evaluator method 2
XSSFFormulaEvaluator.EvaluateAllFormulaCells(workbook);
using (FileStream file = new FileStream(@"Output.xlsx", FileMode.Create))
{
workbook.Write(file);
}
}
从上面的内容,我可以从模板文件创建Excel工作表,但在打开output.xlsx时会出现以下计算错误。
我使用了npoi documantion中说明的公式评估器。
当我从方法中删除公式评估器代码时,我就能在excel模板和输出中看到该公式。
这是NPOI或其他错误吗?请帮助我解决问题。
这里有人知道使用公式计算器的正确方法吗?我不想在计算表中删除公式之后。