为什么C#的NPOI使用了以下string strs = $"ROUNDUP(S{Lastrow} + 0.1, ) - S{Lastrow} - 0.1 + S{Lastrow - 1}"; ICell cell = sheetTd.GetRow(Lastrow).GetCell(19) ?? sheetTd.GetRow(Lastrow).CreateCell(19); cell.SetCellType(CellType.Formula); cell.SetCellFormula(strs);写了生成的excel没有公式
时间: 2024-03-28 19:41:24 浏览: 42
这个问题可能是因为您的公式字符串格式不正确导致的。NPOI中使用的公式字符串应该符合Excel的公式语法,如果公式字符串格式不正确,Excel将无法识别它并将其视为普通文本。
在您提供的代码中,公式字符串的格式似乎是不完整的,ROUNDUP函数的第二个参数缺失,这可能会导致Excel无法正确解析这个公式。您可以尝试修改公式字符串,添加缺失的参数,例如:
```
string strs = $"ROUNDUP(S{Lastrow} + 0.1, 0) - S{Lastrow} - 0.1 + S{Lastrow - 1}";
```
另外,您也可以尝试在生成Excel文件后手动打开文件并尝试重新计算公式,看看公式是否被正确地解析并计算。
相关问题
NPOI.SS.Formula.FormulaParseException:“The specified formula '=ROUNDUP(S66 + 0.1, ) - S66 - 0.1 + S65' starts with an equals sign which is not allowed.”
这个错误的原因是您的公式字符串中的等号(=)被Excel解释为实际的公式符号,因此不能在公式字符串中使用。
要解决这个问题,您需要将公式字符串的第一个字符修改为一个单引号('),以将其标记为文本,例如:
```
string strs = $"'ROUNDUP(S{Lastrow} + 0.1, 0) - S{Lastrow} - 0.1 + S{Lastrow - 1}";
```
这样生成的公式字符串将被视为文本,Excel将不会将其解释为实际的公式。在Excel中打开文件后,您可以手动将这个单引号删除,然后按下回车键,Excel将自动计算公式。
C# NPOI XWPFStyles
XWPFStyles是C# NPOI库中用于创建和管理样式的类。它可以用于在Word文档中设置段落和字符的样式,比如字体、字号、颜色等。在使用NPOI进行Word文档操作时,可以先创建一个XWPFStyles对象,然后通过该对象设置样式并应用到段落或字符上。通过XWPFStyles的SetStyles方法可以将一个已有的样式模板应用到新的文档中,实现样式的复用。使用XWPFStyles可以实现对Word文档中不同级别标题的设置,如设置一级标题、二级标题等。同时,NPOI还支持对Excel文件的读写操作,可以帮助开发者在没有安装Microsoft Office的情况下读写Excel文件。所以,C# NPOI XWPFStyles是一种在C#中使用NPOI库进行Word文档操作时用于创建和管理样式的类。
阅读全文