Zum Inhalt springen

Excel Tabelle auslesen und in datenbank schreiben


Horstiii

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...