Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

Habe es auf anderem Wege hinbekommen, auch ohne Excel.

Danke

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

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

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 Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.