Heim >Datenbank >MySQL-Tutorial >Wie kann ich Excel-Daten effizient und ohne Schleifen nach MS Access exportieren?
Beim Exportieren von Daten aus einem Excel-Arbeitsblatt in eine MS Access-Tabelle besteht der herkömmliche Ansatz darin, eine Schleife zu verwenden um jede Datenzeile iterativ in die Tabelle einzufügen. Allerdings kann diese Methode bei großen Datensätzen ineffizient sein. Hier ist eine alternative Methode mit einer einzelnen SQL-INSERT-Anweisung, die die Leistung erheblich steigert:
Public Sub DoTrans() Set cn = CreateObject("ADODB.Connection") dbPath = Application.ActiveWorkbook.Path & "\FDData.mdb" dbWb = Application.ActiveWorkbook.FullName dbWs = Application.ActiveSheet.Name scn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbPath dsh = "[" & Application.ActiveSheet.Name & "$]" cn.Open scn ' Construct SQL INSERT statement to bulk insert data ssql = "INSERT INTO fdFolio ([fdName], [fdOne], [fdTwo]) " ssql = ssql & "SELECT * FROM [Excel 8.0;HDR=YES;DATABASE=" & dbWb & "]." & dsh ' Execute SQL INSERT statement to insert data in one go cn.Execute ssql End Sub
In diesem Code:
Für Felder mit bestimmten Namen gilt: Sie Sie können die SQL-Anweisung ändern, um bestimmte Feldnamen in die INSERT-Klausel aufzunehmen:
ssql = "INSERT INTO fdFolio (fdName, fdOne, fdTwo) " ssql = ssql & "SELECT * FROM [Excel 8.0;HDR=YES;DATABASE=" & dbWb & "]." & dsh
Das obige ist der detaillierte Inhalt vonWie kann ich Excel-Daten effizient und ohne Schleifen nach MS Access exportieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!