我试图通过这种方式读取excel文件,但收到错误:
Microsoft.Office.Interop.Excel.Application appExcel;
Microsoft.Office.Interop.Excel.Workbook workbook;
Microsoft.Office.Interop.Excel.Range range;
Microsoft.Office.Interop.Excel._Worksheet worksheet;
appExcel = new Microsoft.Office.Interop.Excel.Application();
workbook = appExcel.Workbooks.Open(path, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
// getting error on the below line
worksheet = (Microsoft.Office.Interop.Excel._Worksheet)workbook.Sheets;
错误低于..
无法将“System .__ ComObject”类型的COM对象强制转换为接口 键入“Microsoft.Office.Interop.Excel._Worksheet”。这个操作 失败,因为QueryInterface调用了COM组件 与IID'{000208D8-0000-0000-C000-000000000046}'的接口失败 出现以下错误:未支持此类接口(例外情况) HRESULT:0x80004002(E_NOINTERFACE))。
对这个例外有任何想法吗?
答案 0 :(得分:0)
显然,workbook.Sheets
不是Worksheet
的类型。
worksheet = (Microsoft.Office.Interop.Excel._Worksheet)workbook.Sheets;
<强>更新强>
表格是Worksheet
的集合,因此请添加索引:
Microsoft.Office.Interop.Excel._Worksheet worksheet;
worksheet = (Microsoft.Office.Interop.Excel._Worksheet)workbook.Sheets[0];
希望它有所帮助!