c# - 使用 Excel 公式的 ClosedXML GetString 中的异常

标签 c# closedxml

我正在打开一个 Excel 电子表格并对其进行处理。当我到达包含公式的单元格(在本例中为 LOOKUP)时,有一个异常(exception):Cannot convert Submission!G6's value to System.String这发生在这行代码中:

        var values = row.Cells(1, lastColumnNumber)
            .Select(x => x.GetString())
            .ToArray();
这里还有一个 Github 问题 https://github.com/ClosedXML/ClosedXML/issues/1217
如何从单元格中获取计算出的“值”?

最佳答案

如前所述,这实际上是 ClosedXML 的一个问题。
但!有一个解决方法。您可以拨打CachedValue而不是 Value .
这是代码,已修复:

        var values = row.Cells(1, lastColumnNumber)
            .Select(x => x.CachedValue?.ToString())
            .ToArray();
来自 documentation, CachedValue保存计算/公式的结果。

关于c# - 使用 Excel 公式的 ClosedXML GetString 中的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65079249/

相关文章:

c# - 如何在不存储一副牌的情况下实现经销商类?

c# - 只读更改结构的行为

c# - 禁用特定函数或代码块的编译器优化 (C#)

c# - Datagridview 多查询字符串问题

c# - ClosedXML 预定义样式

c# - 从 MemoryStream 运行 Microsoft Excel 应用程序

c# - 使用 ClosedXML 从 Excel 文件中读取

c# - 如何优化 linq 查询以在不合并结果的情况下按价格对日期进行分组

c# - 为一组单元格设置锁定为真

azure - Azure 上的自定义 FileResult : Browser Waits forever