C# 如何从包含C函数的Excel中读取单元格值#

C# 如何从包含C函数的Excel中读取单元格值#,c#,excel,visual-studio,io,C#,Excel,Visual Studio,Io,我正在编写一个从Excel文件读取数据的C#应用程序。在我试图从一个使用公式的单元格中读取数据之前,一切都很顺利 我从工作表中提取数据并尝试添加累积数量,因此在循环中,我使用: cntr = Cell(row, column); 注意:我是在解释而不是复制我的实际代码。 无论如何,如果实际的单元格值包含一个数字,这是可行的,但是如果单元格包含一个函数,它将返回字符串 “=总和(A1:A5)” 我不确定如何在我的C代码中执行此操作来检索该单元格的实际值。试试看 Cell(a,b).Value

我正在编写一个从Excel文件读取数据的C#应用程序。在我试图从一个使用公式的单元格中读取数据之前,一切都很顺利

我从工作表中提取数据并尝试添加累积数量,因此在循环中,我使用:

cntr = Cell(row, column); 
注意:我是在解释而不是复制我的实际代码。

无论如何,如果实际的单元格值包含一个数字,这是可行的,但是如果单元格包含一个函数,它将返回字符串

“=总和(A1:A5)”

我不确定如何在我的C代码中执行此操作来检索该单元格的实际值。

试试看

Cell(a,b).Value
而不仅仅是
单元(a,b)


此外,以下方法也应该有效

Excel.Range objRange = (Excel.Range)objSheet.Cells[rowN,colN];
variableName = objRange.get_Value(System.Missing.Type).ToString();

您可以根据您的数据类型修改它

我尝试了这种方法,但由于某种原因,我得到了一个错误,即对象不包含“值”的定义。也许我的互操作文件错了?我不确定它缺少了什么,或者可能我真的缺少了一个程序集引用。另外,您可能想看看这么早发布的这个解决方案。似乎也是一个类似的问题。同样的问题。我将再次查看我的互操作文件,看看我是否遗漏了什么。是的,让我知道我发布的新编辑是否有效。如果是这样的话,那就太好了,否则我会删除这个答案,因为它不值得+1次重复,如果它不工作的话。它确实做了。我在程序集引用方面犯了一个愚蠢的错误。我使用的名称空间是Microsoft.Office.Interop.Excel,不知道可以将其更改为“using Excel=Microsoft.Office.Interop.Excel”。起初,我收到一个错误,Excel没有定义。我编写它的方式:variableName=(单元格(行,列)为Excel.Range.Value;谢谢你的帮助!作为旁注:Interop非常慢而且容易出错,您可能希望使用像EPPLUS这样的库,这比interopI肯定会研究的快,可能是另一个项目,因为我已经深入研究了这个项目。谢谢你的建议。