relative Datei Angabe funktioniert nicht
-
also ich habe es ausprobiert und er sagt mir das ein Objekt verweis fehlt.
-
Dann zeig mal den code mit dem du es probiert hast.
-
Das ist der Code.
[/code]
private void button1_Click(object sender, EventArgs e)
{
Microsoft.Office.Interop.Excel.Application excel = null;
Workbook wb = null;// Excel starten
excel = new Microsoft.Office.Interop.Excel.Application();
excel.Visible = false;// Datei öffnen
wb = excel.Workbooks.Open (@"H:\Programme\C#\Text_Datei_Lesen\Text_Datei_Lesen\dBEL.xlsx", ExcelKonstanten.UpdateLinks.DontUpdate,
ExcelKonstanten.ReadOnly,
ExcelKonstanten.Format.Nothing,
"", // Passwort
"", // WriteResPasswort
ExcelKonstanten.IgnoreReadOnlyRecommended,
XlPlatform.xlWindows,
"", // Trennzeichen
ExcelKonstanten.Editable,
ExcelKonstanten.DontNotifiy,
ExcelKonstanten.Converter.Default,
ExcelKonstanten.DontAddToMru,
ExcelKonstanten.Local,
ExcelKonstanten.CorruptLoad.NormalLoad);code="cs"]
-
Und du hast es mit
string path=Path.Combine(Application.StartupPath, "dBEL.xlsx"); excel.Workbooks.Open (path, //...
versucht ? Oder wie hast du das mit dem relativen Pfad aufgesetzt ?
-
Ja klar ist C#
Wenn ich es so schreibe
string path=Path.Combine(Application.StartupPath, "dBEL.xlsx");
gibt er denn Fehler:
Fehler 1 "Application" ist ein mehrdeutiger Verweis und kann "System.Windows.Forms.Application" oder "Microsoft.Office.Interop.Excel.Application" sein. H:\Programme\C#\Text_Datei_Lesen\Text_Datei_Lesen\Form1.cs 32 36 Text_Datei_LesenUnd wenn ich es eindeutig zu weise zur "Microsoft.Office.Interop.Excel.Application" mit :
string path = Path.Combine**(_Application**.StartupPath, "dBEL.xlsx");
kommt der Fehler:
Fehler 1 Für das nicht statische Feld, die Methode oder die Eigenschaft "Microsoft.Office.Interop.Excel._Application.StartupPath.get" ist ein Objektverweis erforderlich. H:\Programme\C#\Text_Datei_Lesen\Text_Datei_Lesen\Form1.cs 32 36 Text_Datei_Lesen
-
Geht's damit?
string file = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\dBEL.xlsx";
-
Zu dem mehrdeutigen Verweise: Sprich die Klasse mal mit vollem Namen an, d.h. statt nur "Application" halt "System.Windows.Forms.Application".
Du musst diese nehmen, nicht die von Excel.
-
Sorry, daß es auch (noch) eine andere gleichnamige Klasse (außer unter System.Windows.Forms bzw. bei WPF) gibt, wußte ich nicht...
-
DarkShadow44 schrieb:
Zu dem mehrdeutigen Verweise: Sprich die Klasse mal mit vollem Namen an, d.h. statt nur "Application" halt "System.Windows.Forms.Application".
Du musst diese nehmen, nicht die von Excel.Ja stimmt.
Aber jetzt klappe es danke euch
-
Noch eine andere Frage vieleicht könnt ihr mir auch dabei Helfen.
Ich lese aus einer Excel Datei ein Datenbereich von z.b. 6 Zellen aus.
habe das mit
Range range = (Range)ws.get_Range("Range6Z");
nun möchte ich den Bereich in einer Textbox darstellen.
Wenn ich das direkt zuweise kriege ich System.Object[,]
als Textausgabe.
Ich deken mann müsste die Zellen separieren können und über eine Schleife vieleicht Ausgeben.