Horstiii Geschrieben 17. September 2009 Geschrieben 17. September 2009 Hallo alle zusammen...... ich bin gerade dabei einen Shop zu entwickeln. Die Produkte wollte ich aus einem Excel Dokument auslesn und in eine Datenbank schreiben lassen. Hoffe hier kann mir jemand helfen Dieses Snippet habe ich dazu gefunden: C# - Excel mit COM Interop auslesen Nur leider bekomme ich die Excel dll nicht referenziert Ich habe kein Excel installiert, nur OpenOffice, hoffe das macht nix aus. Danke schonmal im Vorraus grüße Zitieren
TDM Geschrieben 17. September 2009 Geschrieben 17. September 2009 Ich habe kein Excel installiert, nur OpenOffice, hoffe das macht nix aus. Doch, denn du musst ja eine Excel-Application aufmachen... Zitieren
HJST1979 Geschrieben 17. September 2009 Geschrieben 17. September 2009 Hallo einzige Möglichkeit wäre wenn du aus Excel- Datei eine CSV- Datei erstellst und dann die CSV einliest. Gruß Hans-Jörg Zitieren
Horstiii Geschrieben 17. September 2009 Autor Geschrieben 17. September 2009 Habe es auf anderem Wege hinbekommen, auch ohne Excel. Danke Zitieren
gnx Geschrieben 17. September 2009 Geschrieben 17. September 2009 Und wie? Wäre mal schön zu hören Zitieren
Horstiii Geschrieben 18. September 2009 Autor Geschrieben 18. September 2009 string filename = MapPath("Tabelle.xls"); string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + filename + ";Extended Properties=Excel 8.0;"; //You must use the $ after the object you reference in the spreadsheet OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [Tabelle1$]", strConn); DataSet myDataSet = new DataSet(); myCommand.Fill(myDataSet, "ExcelInfo"); GridView1.DataSource = myDataSet.Tables["ExcelInfo"].DefaultView; GridView1.DataBind(); Ich lade das Excel Sheet mit einem DataAdapter in ein DataSet zum testen habe ich das ganze mal in ein GridView geladen. Wird auch alles korrekt angezeigt, jetzz muss ich das ganze nur in meine SQL Datenbank bekommen........ wer weiß wie? Bitte hilfe..... grüße Zitieren
Gateway_man Geschrieben 18. September 2009 Geschrieben 18. September 2009 Eine Lösung (jedoch nicht die elleganteste): datatable dt = new datatable(); dt = my.dataset.table(0); int counter; For (counter = 0; counter == dt.rows.count; counter ++){ 'jenachdem wieviele Columns du hast string rowitem1 = dt.rows(counter)("Columnname").tostring; 'das für die ganze Zeile machen und dann in der schleife ein Insert INTO Command schreiben mit den Strings als Values...... } Sofern Fehler drin sein sollten tut es mir leid, ich benutzte nur C# sogut wie überhauptnicht und dementsprechend sind auch meine syntaxkentnisse . Lg Gateway Zitieren
HJST1979 Geschrieben 18. September 2009 Geschrieben 18. September 2009 Wird auch alles korrekt angezeigt, jetzz muss ich das ganze nur in meine SQL Datenbank bekommen........ wer weiß wie? Bitte hilfe..... Da kann ich dir einen Tipp geben: --> Alle Codes sind VB.NET da ich in C# net so fit bin Du kannst auch einen SQL- Reader definieren Dim Reader As OleDb.OleDbDataReader Dann kannst den Reader füllen und durchlaufen Reader = myCommand.ExecuteReader While Reader.Read() End While Mit nachfolgendem Code kannst dann auf die Items zugreifen stWert = reader.Item(inItem) stINSERTSQL zusammen bauen und absetzen. Hoffe konnte dir helfen, das Dataset brauchste dann nicht mehr Gruß Hans-Jörg Zitieren
TDM Geschrieben 18. September 2009 Geschrieben 18. September 2009 OleDB-Abfragen gehen auch ohne installiertes Excel :confused: *notier* Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.