Das Arbeitsblatt get_Range löst die Ausnahme aus
Ich bin mit C# zu Bearbeiten ein Excel-Arbeitsblatt. Die folgenden zwei Stücke von code sollte das gleiche, aber das eine funktioniert und der andere wirft eine Ausnahme. Ich Frage mich, warum.
Dies funktioniert:
oRange = (Excel.Range)oSheet.get_Range("A1","F1");
oRange.EntireColumn.AutoFit();
Dies wirft eine Ausnahme:
oRange = (Excel.Range)oSheet.get_Range(oSheet.Cells[1, 1],oSheet.Cells[4,4]);
oRange.EntireColumn.AutoFit();
Ausnahme:
RuntimeBinderException occurred. "object" does not contain a definition for 'get_Range'
Den oSheet
instanziiert wird, wie folgt:
Excel.Worksheet oSheet = new Excel.Worksheet();
Soll ich zu instanziieren, die beide unterschiedlich?
InformationsquelleAutor der Frage KMC | 2011-07-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sieht es aus wie die exception geworfen wird von der
oSheet.Cells[1, 1]
undoSheet.Cells[4, 4]
als Argumente verwendet, umget_range
.Anwendung der folgenden, es wird keine exception geworfen wird:
So, es könnte im Zusammenhang mit der
oSheet.get_Range
Funktionalität. Es erhält ein Objekt als argument verwenden, könnte daher versuchen, rufen Sie einget_Range
Methode auf die Argumente zu erhalten, die interne Zelle, und der cast vonRange
zum Objekt erfolgt durch den compiler verbergen könnte der Aufruf der Methode.Wenn Sie die Zellen, die definition von row/column - versuchen Sie es mit dem obigen Ansatz.
InformationsquelleAutor der Antwort NirMH
Verwenden Sie das Arbeitsblatt Range-Eigenschaft statt.
Zum Beispiel, anstelle von
verwenden
War ich mit dem get_Range () - Methode ausgiebig bei nutzte ich aus .NET-2. Wenn ich geändert .NET 4 Client Profile, ich habe diese Ausnahme auch. Austausch der get_Range() Verweise mit der Range-Eigenschaft adressiert dieses Problem für mich.
InformationsquelleAutor der Antwort stormypete
Für alle, die dieses problem haben, viel besser, verwenden Sie die explizite Konvertierung, anstatt neue Variablen erstellen.
InformationsquelleAutor der Antwort Alex Yagur
Hatte ich aktualisiert meine VS C# - Projekt aus .Net Framework 3.5 auf 4.5.
Einmal hatte ich erfolgreich aktualisiert habe, bekam ich diese "object" enthält keine definition für 'get_Range' exception beim Versuch, generieren Sie einen excel-Bericht.
Was ich gemacht habe ist anstatt code unten
Schrieb ich zu
Und es funktionierte.
InformationsquelleAutor der Antwort Saikat Chakraborty