NPOI-从模板创建新的Excel并获得计算错误时,通过NPOI的公式评估器方法删除Excel公式

时间:2019-01-01 11:06:56

标签: c# excel npoi

代码:

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);
               }
            }

Template Excel File

从上面的内容,我可以从模板文件创建Excel工作表,但在打开output.xlsx时会出现以下计算错误。

从模板文件生成后打开时,输出文件出错。 Error in output file when open after generated from template file

模板文件中的公式,使用公式计算器后在输出工作表中将其删除 Formula in Template file which is removed in output sheet after use of formula evaluator

我使用了npoi documantion中说明的公式评估器。

当我从方法中删除公式评估器代码时,我就能在excel模板和输出中看到该公式。

这是NPOI或其他错误吗?请帮助我解决问题。

这里有人知道使用公式计算器的正确方法吗?我不想在计算表中删除公式之后。

0 个答案:

没有答案