如果您每天需要將Excel中的數據上傳到MySQL數據庫中,您可以嘗試自動化這個過程,以便省時省力。以下是一些步驟和代碼,幫助您實現這個目標:
1. 在Excel中創建您要上傳到數據庫的表格,確保表頭與MySQL表格的列名匹配。
2. 在Excel中打開Visual Basic Editor(VBE),并在VBE中創建一個新的宏。
3. 在VBE中,使用以下代碼連接您的MySQL數據庫:
Sub ConnectToMySQL() Dim conn As New ADODB.Connection conn.ConnectionString = "Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=mydatabase;User=myusername;Password=mypassword;Option=3;" conn.Open End Sub
請注意,上述代碼中的連接字符串將根據您的MySQL服務器的設置而有所不同。請修改連接字符串以匹配您的設置。
4. 編寫另一個宏來將Excel表格中的數據上傳到MySQL表格中。使用以下代碼:
Sub UploadToMySQL() Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim strSQL As String Dim i As Integer ' 連接到MySQL數據庫 conn.ConnectionString = "Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=mydatabase;User=myusername;Password=mypassword;Option=3;" conn.Open ' 設置SQL語句 strSQL = "INSERT INTO mytable (column1, column2, column3) VALUES " ' 獲取Excel數據并添加到SQL語句中 For i = 2 To Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row strSQL = strSQL & "(" & Cells(i, 1) & ", '" & Cells(i, 2) & "', " & Cells(i, 3) & "), " Next i ' 刪除SQL語句末尾的逗號 strSQL = Left(strSQL, Len(strSQL) - 2) ' 執行SQL語句 conn.Execute strSQL ' 關閉連接 conn.Close End Sub
請注意,上述代碼中的表名和列名將根據您的MySQL表格而有所不同。請修改代碼以匹配您的表格。
5. 在Excel中的宏設計器中,選擇“工作簿”和“保存事件”。使用以下代碼,以便在保存Excel文件時自動運行上傳宏:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Call UploadToMySQL End Sub
請注意,上述代碼中的宏名稱將根據您在第4步中創建的宏而有所不同。請修改代碼以匹配您的宏名稱。
現在,每次您保存Excel文件時,宏將自動運行,并將數據上傳到MySQL數據庫中。