下面的C#行会产生错误:
Excel.Worksheet wks = (Excel.Worksheet)wbk.Worksheets.Add(After: wbk.Worksheets.Count);
我打算让代码在工作簿wbk
中创建一个新的工作表,但不会创建新的工作表。相反,我得到一个错误。
我收到的错误消息是:
类型的第一次机会异常 ' System.Runtime.InteropServices.COMException'发生在 Microsoft.Office.Interop.Excel.dll
如何了解有关此错误的详情,以便我可以解决?
查看详细信息告诉我对我没有任何意义。检查异常的错误代码属性,以确定COM对象返回的HRESULT告诉我对我没有任何意义。
我不知道如何从这里继续进行错误搜索。
答案 0 :(得分:1)
什么属性或方法调用会准确触发异常?
我建议打破调用链并在单独的代码行上声明每个属性或方法。因此,您将能够找到触发异常的确切内容。
还尝试明确指定可选参数:
Excel.Worksheet wks = (Excel.Worksheet)wbk.Worksheets.Add(Type.Missing, wbk.Worksheets[1], Type.Missing, Type.Missing);
请注意以下事实:您需要指定添加新工作表的工作表,而不是数字!
答案 1 :(得分:0)
错误讯息: 类型为System.Runtime.InteropServices.COMException'的第一次机会异常。发生在Microsoft.Office.Interop.Excel.dll
中只是来自已处理异常的通知,您应该尝试一下环绕您的通话: Excel.Worksheet wks =(Excel.Worksheet)wbk.Worksheets.Add(After:wbk.Worksheets.Count);
尝试拦截真正的异常。