c# npoi excel 如何获取单元格的公式值?

标签 c# excel npoi

我在循环中的一些单元格上设置了一个公式,如下所示:

System.String fm = "IF(B2,J2=J1,FALSE)"
another.GetRow(0).CreateCell(28).SetCellFormula(fm); 

我一直想知道如何得到这个公式的结果(值)而不是复制整个公式。

MessageBox.Show(another.GetRow(0).GetCell(28).ToString);

它显示值 IF(B2,J2=J1,FALSE)

如何得到结果(值),而不是公式本身?

最佳答案

HSSFFormulaEvaluator formula = new HSSFFormulaEvaluator(workBook);

然后您可以将此公式用于 excel 文件中的所有单元格,方法是使用

formula.EvaluateAll();

或者你可以像这样将它用于特定的单元格

var cell = sheet.GetRow(row).GetCell(column);
            string Res = "";
if (cell != null)
            {
                formula.EvaluateInCell(cell);

                switch (cell.CellType)
                {
                    case NPOI.SS.UserModel.CellType.Numeric:
                        Res = sheet.GetRow(row).GetCell(column).NumericCellValue.ToString();
                        break;
                    case NPOI.SS.UserModel.CellType.String:
                        Res = sheet.GetRow(row).GetCell(column).StringCellValue;
                        break;
                }
            }

关于c# npoi excel 如何获取单元格的公式值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42971756/

相关文章:

c# - 将 XML 反序列化为对象 : XML element with xsi:nil ="true" should have null value (and not empty value) for respective property in object

c# - PayPal 返回页面问题

c# - 带有 NPOI 的 .xlsx 文件损坏问题 - Excel 无法打开文件 'file.xlsx",因为文件格式或文件扩展名无效

c# - NPOI 写入 XLS 而不是 XLSX

c# - NPOI:将单元格颜色设置为自定义颜色

c# - CS0133 "The expression being assigned to ' identifier' must be constant”- 这背后的原因是什么?

c# - WPF:DataContext 设置前的转换器默认值

excel - 如何控制哪些单元格可以接收用户输入以及光标移动到每个单元格的顺序?

vba - 使用 VBA 设置 Excel 图表中数据标签的格式

excel - excel中使用sub排序,排序不正确