Kann nicht implizit konvertiert Typ 'Objekt' zu 'Microsoft.Office.Interop.Excel.Palette'
Fehler CS0266: kann Nicht implizit konvertiert Typ 'Objekt' zu 'Microsoft.Office.Interop.Excel.Range'. Eine explizite Konvertierung vorhanden ist (fehlt ein cast?)
Pls help 🙂
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
Excel.Range range;
xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Open("C:\\Base.xls", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(3);
range= xlWorkSheet.UsedRange.Columns[1,Type.Missing];
- Haben Sie versucht, range= (Range) xlWorkSheet.UsedRange.Spalten[1,Typ.Fehlt]; ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
Columns
indexer eingegeben wird zurückobject
und die variablerange
eingegeben wird, umExcel.Range
. Diese Umwandlung ist nicht legal (eine weniger spezifische Art zu einem spezifischeren Typ). Sie müssen explizit umgewandelt das Ergebnis für die Konvertierung ArbeitErhalten Sie diese Ausnahme nur, wenn das Einbetten von Interop-Typen des Microsoft.Office.Interop.Excel ist auf false gesetzt. Wenn es auf true gesetzt ist, dann werden Sie nicht bekommen, diese Ausnahme
Ich denke, das problem liegt in dieser Zeile:
es wohl gibt-Objekt, so haben Sie, um Sie zu wirken, um
Excel.Range
Diese das problem lösen:
Nur versuchen, diese. Hoffe, es funktioniert für Sie.