Zum Inhalt springen

Excel Tabelle auslesen und in datenbank schreiben


Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

Geschrieben

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

Geschrieben

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

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...