C#中的Excel 2007始终返回-2146826265

我有一个引用Microsoft Excel 12.0对象库的小型C#应用程序。 除此之外,它从Excel单元格读取值。 它从一些较旧的Excel(.xls)文件和一些2007文件(.xlsx)中读取此值。 该值适用于所有.xls文件,但我只为.xlsx文件获取以下值:-2146826265。

我正在阅读的单元格包含一个简单的公式:“= A1 + B1”。

这是我正在使用的代码行

((Excel.Range)ws.Cells.get_Item(29, 17)).get_Value(null)); 

ws是当前活动工作表。

谢谢你尽你所能的帮助。

get_value函数为他的错误消息返回整数。 这里是列表:

 -2146826281 = #Div/0! -2146826246 - #N/A -2146826259 = #Name? -2146826288 = #Null! -2146826252 = #Num! -2146826265 = #Ref! <- yours ! -2146826273 = #Value! 

这里是一个非常好的文章:

http://xldennis.wordpress.com/2006/11/22/dealing-with-cverr-values-in-net-%E2%80%93-part-i-the-problem/

从这个很好的答案:

如何知道一个单元格在C#中的公式中是否有错误