[英]how to fix Cannot implicitly convert type 'object' to 'Microsoft.Office.Interop.Excel._Worksheet'. An explicit conversion exists
[英]Unable to cast COM object '(Microsoft.Office.Interop.Excel._Worksheet)workbook.Sheets'
我正在嘗試通過這種方式讀取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”。 此操作失敗是因為由於以下錯誤,IID為'{000208D8-0000-0000-C000-000000000046}'的接口的COM組件上的QueryInterface調用由於以下錯誤而失敗:不支持此類接口(HRESULT的異常:0x80004002(E_NOINTERFACE)) 。
對這個例外有任何想法嗎?
顯然, workbook.Sheets
不是Worksheet
。
worksheet = (Microsoft.Office.Interop.Excel._Worksheet)workbook.Sheets;
更新:
Sheets是Worksheet
的集合,因此添加索引:
Microsoft.Office.Interop.Excel._Worksheet worksheet;
worksheet = (Microsoft.Office.Interop.Excel._Worksheet)workbook.Sheets[0];
希望能幫助到你!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.