itrain-home  
home
 Aktuelle Seite:  knowhow sql transfer import xls index.asp 
 



 

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

Leerraum

Dokument zum Drucken anzeigen
English Pages
Link-Tipp zum Thema "Microsoft SQL Server": www.swynk.com

Sehr umfangreiche Site für Backoffice-Administratoren. Viele SQL Server Beispiele und eine wahre Fundgruppe für SMS-Administratoren Wird laufend aktualisiert.