it4baer
Goto Top

Der einfachste Weg excel in eine DataTable (DataSet) einzulesen

Hi,

zuerst habe ich mir eine Copy-Paste Funktion vorgestellt... also ich Kopiere die Daten in Excel und Paste diese dann in mein DataGrid... allerdings sind die onlinelösungen höchst Komplex und das Ergebnis auch nur "mäßig" flexibel...

Ziel ist es einzelne DatenSpalten einzulesen... diese müssen nicht zwingend auf Mappe 1 sein...
d.h. ich öffne meine Exceldatei und selektiere die Daten
Blatt 2
Spalte A => WerteA
Spalte D => WerteB
...

diese werte sollen dann alle in eine DataTable eingelesen und auf ein DataGrid angezeigt werden...

Die Ausgabe der eingelesenen Daten ist kein Problem...
ebenso kann man mit "schleifen" und Co auf das Exceldokument "zerlegen" und auflisten... aber irgendwie ist das schon komplex...

DataSet bietet mir an, mehrere Tabellen zu halten, also vom Prinzip genau das was excel auch kann...
=> da stellt sich doch die Frage, ob es einen Adapter gibt, welcher mir die Exceldatei einfach komplett in ein DataSet einliest?

Vielen Dank für jeden Tipp

noch bin ich nicht schlüssig welche Lösung die beste für mich ist... Grundsätzlich sollte der Aufwand nicht zu hoch sein, weil es ein Interims Tool ist

...
Vielen Dank

Content-ID: 365233

Url: https://administrator.de/forum/der-einfachste-weg-excel-in-eine-datatable-dataset-einzulesen-365233.html

Ausgedruckt am: 22.12.2024 um 23:12 Uhr

emeriks
emeriks 19.02.2018 um 13:56:09 Uhr
Goto Top
Hi,
alles im VBA? Oder von VBA eine VB.Net Exe aufrufen?

  1. Auswahl in temporäres Blatt kopieren
  2. temporäres Blatt in Datagridview laden
  3. oder temporäres Blatt in temporäre XLS speichern und in VB.Net laden?

erster Treffer bei Google:

How to import data from excel to datagridview by visual basic
Das liest sich recht simpel, nichts komplexes.

E.
it4baer
it4baer 19.02.2018 um 13:59:59 Uhr
Goto Top
oh... sorry, das hab ich vergessen zu erwähnen...

Ich arbeite in WPF => C# .NET!
emeriks
emeriks 19.02.2018 um 14:04:13 Uhr
Goto Top
Ich arbeite in WPF => C# .NET!
OK. Diese paar Zeilen in C# zu übersetzen sollte jetzt aber nicht das Problem sein.
SachsenHessi
SachsenHessi 19.02.2018 um 14:14:24 Uhr
Goto Top
Hallo,

http://connectionstrings.de/2015/10/ole-db-datenquellen-fuer-microsoft- ...

Sie können mit dem JET OLE DB-Provider auch eine Excel-Tabelle öffnen:

oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=c:\somepath\mySpreadsheet.xls;" & _
"Extended Properties=""Excel 8.0;HDR=Yes"""

In diesem Fall bedeutet “HDR=Yes”, dass es eine Kopfzeile innerhalb des Zellenbereichs (oder des benannten Bereichs) gibt, sodass der Provider die erste Reihe in der Auswahl nicht ins Recordset mit einscließt. Wenn aber “HDR=No” gesetzt ist, wird der Provider die erste Zeile des Zellenbereichs ebenfalls ins Recordset mit einbeziehen.

Sie können auch Textdateien mit dem JET OLE DB öffnen:

oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=c:\somepath\;" & _
"Extended Properties=""text;HDR=Yes;FMT=Delimited"""

Danach öffnen Sie ein Recordset, welches auf dem Select der eigentlichen Datei beruht:
oRs.Open "Select * From MyTextFile.txt", oConn, _
adOpenStatic, adLockReadOnly, adCmdText

Gruß Frank