0
我想创建一个简单的公式SUM(E1:E6)
,但不断得到Value cannot be null. Parameter name: stream
。我已经把=
放在前面,甚至使小写没有成功。我能够上班的公式是1 + 3 + 8
。然后我尝试E1 + E2 + E3 + E4 + E5 + E6
,并给出了相同的错误。NPOI核心 - 公式问题
这里是我的代码:
IWorkbook workbook = new XSSFWorkbook();
ISheet sheet1 = workbook.CreateSheet("Project Time");
... Other numeric and textual cells fill in and work great
row = sheet1.CreateRow(RowIndex++);
var test = row.CreateCell(ColIndex++);
test.SetCellType(CellType.Formula);
test.SetCellFormula($"1 + 2 + 3 + 4 + 5 + 6"); // WORKS
test.SetCellFormula($"SUM(1 + 2 + 3 + 4 + 5 + 6)"); // FAILS
test.SetCellFormula($"SUM(E1:E6)"); // FAILS
test.SetCellFormula($"E1 + E2 + E3"); // FAILS
XSSFFormulaEvaluator.EvaluateAllFormulaCells(workbook);
workbook.Write(TheStream);
GitHub的位置is here。
看到这个链接https://stackoverflow.com/questions/25077009/npoi-setcellformula-custom-formula-in-vba。从SetCellFormula中删除$($“SUM(E1:E6)”); –
@kumarchandraketu'$'是C#字符串格式的前缀,并不会以任何方式影响它。我拿出来,得到了同样的结果。您提到的SO链接中的文档链接也没有显示我正在做什么,并且没有真正了解我错过或做错了什么。 – Grandizer
我建议你尝试SetCellFormula(“= SUM(E1:E6)”);或SetCellFormula($“= SUM(E1:E6)”);有时,NPOI中的文档语法不起作用,因此您可能需要尝试通过命中或未命中尝试解决方法:) –