|
Microsoft SQL Server - Datenimport
Microsoft Excel Arbeitsmappen
[Dieser Artikel wird zur Zeit noch bearbeitet...]
Um den Inhalt von Microsoft Excel Mappen zu importieren wird der Microsoft.Jet.OLEDB-Provider verwendet.
(Theoretisch ist natürlich auch noch der alte ODBC-Treiber möglich).
Excel-Dateien können per DTS, über einen Verbindungsserver, eine Ad-Hoc Abfrage oder direkt über ADO (ActiveX Data Objects)
importiert werden.
Excel-Dateien und der Jet-OLEDB Provider
Mit Hilfe des Jet-OLEDB Providers kann leicht auf die Arbeitsblätter in einer Excel-Arbeitsmappe zugegriffen werden.
Dabei gibt es allerdings einige kleinere "Stolperfallen". In der Standardkonfiguration hält sich der Provider an die folgenden
Annahmen:
- Die erste Zeile des Arbeitsblatts bzw. des benannten Bereichs enthält die Spaltenüberschrift
- Der Datentyp der einzelnen Spalten kann durch das Lesen der ersten 10 Zeilen bestimmt werden
Neben diesen Annahmen sollten Sie außerdem wissen, wie einzelne Bereiche in einer Arbeitsmappe angesprochen werden.
Namenskonventionen für den Zugriff auf Arbeitsblätter
Wer bereits mit DTS (Data Transformation Services) gearbeitet hat, kennt bereits eine grundlegende Namenskonvention:
Arbeitsblätter werden über den Namen des Arbeitsblatts plus einem Dollar ($) -Zeichen angesprochen.
Tabelle1$ bezeichnet also das Arbeitsblatt "Tabelle1". Der Treiber/Provider versucht dabei zu ermitteln, welcher
Bereich des Arbeitsblatts Daten enthält. Sollen nur bestimmte Bereich importiert werden, so können die Zellen-Koordinaten in Excel-üblicher Schreibweise mit
angegeben werden: z.B. Tabelle1$B2:D7.
In diesem Fall werden nur die Zeilen 2 - 7 der Spalten B bis D ausgelesen. In der Standardeinstellung erwartet der OLEDB-Provider,
dass in der ersten Zeile die Spaltennamen stehen.
Eine Alternative zur Angabe von Zellenkoordinaten bietet die benannten Bereiche.
Benannte Bereiche
In Excel können Bereiche mit einem Namen versehen werden.
Über diesen Namen kann dann der Zugriff erfolgen.
Wenn benannte Bereiche verwendet werden, gibt es jedoch einige Einschränkungen, wenn Daten hinzugefügt werden sollen (s.a. Export nach Excel).
Beispiele
Import einer Excel-Arbeitsmappe mit DTS
Zugriff auf eine Excel-Arbeitsmappe über eine Ad-hoc Abfrage
Zugriff auf eine Excel-Arbeitsmappe über einen Verbindungsserver
Zugriff auf eine Excel-Arbeitsmappe über ADO in einer gespeicherten Prozedur
|