Es gibt viele gute Möglichkeiten, dies zu erreichen, die andere bereits vorgeschlagen haben. Im Folgenden finden Sie einige Hinweise, die dem Abschnitt "Excel-Daten über SQL-Track abrufen" folgen.
Excel verfügt über den "Datenverbindungsassistenten", mit dem Sie aus einer anderen Datenquelle oder sogar aus derselben Excel-Datei importieren oder verknüpfen können.
Als Teil von Microsoft Office (und Betriebssystemen) sind zwei Anbieter von Interesse: der alte "Microsoft.Jet.OLEDB" und der neueste "Microsoft.ACE.OLEDB". Suchen Sie beim Einrichten einer Verbindung nach ihnen (z. B. mit dem Datenverbindungsassistenten).
Sobald eine Verbindung zu einer Excel-Arbeitsmappe hergestellt wurde, entspricht ein Arbeitsblatt oder Bereich einer Tabelle oder Ansicht. Der Tabellenname eines Arbeitsblatts ist der Name des Arbeitsblatts, an das ein Dollarzeichen ("$") angehängt und mit eckigen Klammern ("[" und "]") umgeben ist. eines Bereichs ist es einfach der Name des Bereichs. Um einen unbenannten Zellenbereich als Datensatzquelle anzugeben, hängen Sie die Standard-Excel-Zeilen- / Spaltennotation an das Ende des Blattnamens in eckigen Klammern an.
Das native SQL ist (mehr oder weniger) das SQL von Microsoft Access. (In der Vergangenheit hieß es JET SQL. Access SQL hat sich jedoch weiterentwickelt, und ich glaube, JET ist veraltete alte Technologie.)
Beispiel: Lesen eines Arbeitsblatts: SELECT * FROM [Sheet1$]
Beispiel: Lesen eines Bereichs: SELECT * FROM MyRange
Beispiel: Lesen eines unbenannten Zellbereichs: SELECT * FROM [Sheet1$A1:B10]
Es gibt viele, viele Bücher und Websites, die Ihnen bei der Bearbeitung der Einzelheiten helfen.
=== Weitere Hinweise ===
Standardmäßig wird davon ausgegangen, dass die erste Zeile Ihrer Excel-Datenquelle Spaltenüberschriften enthält, die als Feldnamen verwendet werden können. Ist dies nicht der Fall, müssen Sie diese Einstellung deaktivieren, oder Ihre erste Datenzeile "verschwindet", um als Feldnamen verwendet zu werden. Dies erfolgt durch Hinzufügen des optionalen HDR= setting
zu den erweiterten Eigenschaften der Verbindungszeichenfolge. Der Standardwert, der nicht angegeben werden muss, ist HDR=Yes
. Wenn Sie keine Spaltenüberschriften haben, müssen Sie angeben HDR=No
; Der Anbieter nennt Ihre Felder F1, F2 usw.
Vorsicht beim Angeben von Arbeitsblättern: Der Anbieter geht davon aus, dass Ihre Datentabelle mit der nicht leeren Zelle ganz oben, ganz links im angegebenen Arbeitsblatt beginnt. Mit anderen Worten, Ihre Datentabelle kann problemlos in Zeile 3, Spalte C beginnen. Sie können jedoch beispielsweise keinen Arbeitsblatttitel über und links von den Daten in Zelle A1 eingeben.
Vorsicht beim Festlegen von Bereichen: Wenn Sie ein Arbeitsblatt als Datensatzquelle angeben, fügt der Anbieter neue Datensätze unter den vorhandenen Datensätzen im Arbeitsblatt hinzu, sofern der Platz dies zulässt. Wenn Sie einen Bereich (benannt oder unbenannt) angeben, fügt Jet auch neue Datensätze unter den vorhandenen Datensätzen im Bereich hinzu, sofern der Platz dies zulässt. Wenn Sie jedoch den ursprünglichen Bereich anfordern, enthält das resultierende Recordset nicht die neu hinzugefügten Datensätze außerhalb des Bereichs.
Datentypen (ein Versuch wert) für C REATE TABLE: Short, Long, Single, Double, Currency, DateTime, Bit, Byte, GUID, BigBinary, LongBinary, VarBinary, LongText, VarChar, Decimal
.
Verbindung zu "old tech" Excel herstellen (Dateien mit der Erweiterung xls) : Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyFolder\MyWorkbook.xls;Extended Properties=Excel 8.0;
. Verwenden Sie den Excel 5.0-Quelldatenbanktyp für Microsoft Excel 5.0- und 7.0 (95) -Arbeitsmappen und den Excel 8.0-Quelldatenbanktyp für Microsoft Excel 8.0- (97), 9.0- (2000) und 10.0- (2002) -Arbeitsmappen.
Herstellen einer Verbindung zu "neuestem" Excel (Dateien mit der Dateierweiterung xlsx): Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Excel2007file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES;"
Daten als Text behandeln: Die IMEX-Einstellung behandelt alle Daten als Text. Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Excel2007file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=1";
(Weitere Informationen unter http://www.connectionstrings.com/excel )
Weitere Informationen finden Sie unter http://msdn.microsoft.com/en-US/library/ms141683(v=sql.90).aspx und unter http://support.microsoft.com/kb/316934
Herstellen einer Verbindung zu Excel über ADODB über VBA unter http://support.microsoft.com/kb/257819
Microsoft JET 4-Details unter http://support.microsoft.com/kb/275561