GPT答: |
7i24.cn
|
以下是VB.NET代码示例,演示如何将Excel数据导入Access数据库:
```
'引用ADO.NET命名空间
Imports System.Data.OleDb
Public Class Form1
Private Sub btnImport_Click(sender As Object, e As EventArgs) Handles btnImport.Click
'打开Excel文件对话框
Dim openFileDialog1 As New OpenFileDialog()
openFileDialog1.Filter = "Excel Files|*.xlsx;*.xls"
If openFileDialog1.ShowDialog() <> DialogResult.OK Then Return
'连接到Excel文件并读取数据
Dim connectionString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & openFileDialog1.FileName & ";Extended Properties='Excel 12.0 Xml;HDR=YES;'"
Dim conn As New OleDbConnection(connectionString)
conn.Open()
Dim cmdSelect As New OleDbCommand("SELECT * FROM [Sheet1$]", conn)
Dim adapter As New OleDbDataAdapter(cmdSelect)
Dim dtData as new DataTable()
adapter.Fill(dtData)
conn.Close()
'连接到Access数据库并插入数据
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\mydatabase.accdb;"
conn = new OleDbConnection(connectionString)
conn.Open()
For Each row In dtData.Rows
Dim cmdInsert as new OleDbCommand("INSERT INTO mytable (field1, field2, field3) VALUES (@field1, @field2, @field3)",conn)
cmdInsert.Parameters.AddWithValue("@field1", row(0))
cmdInsert.Parameters.AddWithValue("@field2", row(1))
cmdInsert.Parameters.AddWithValue("@field3", row(2))
cmdInsert.ExecuteNonQuery()
Next
MessageBox.Show("导入成功!")
End Sub
End Class
```
在上面的代码中,我们首先使用`OpenFileDialog`控件打开一个Excel文件。然后,我们使用OleDb连接字符串和`OleDbConnection`对象来连接到该文件,并使用`OleDbDataAdapter`对象读取其中的数据。
接下来,我们再次使用OleDb连接字符串和另一个`OleDbConnection`对象来连接到Access数据库。然后,我们遍历从Excel中读取的每一行,并将其插入到Access表中。
请注意,在这个例子中假设你已经有了一个名为"mytable"的表格,并且它有三个字段:Field 1、Field 2 和 Field 3。如果你需要更改这些名称或添加其他字段,请相应地修改代码。
最后,在循环结束时弹出消息框以通知用户导入已完成。
|