【发布时间】:2017-09-12 08:41:50
【问题描述】:
Private Sub Button_Import_Click(sender As Object, e As EventArgs) Handles Button_Import.Click
Try
Dim MyConnection As OleDb.OleDbConnection
Dim Ds As System.Data.DataSet
Dim MyAdapter As System.Data.OleDb.OleDbDataAdapter
MyConnection = New System.Data.OleDb.OleDbConnection(String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='C:\Users\matil\Desktop\KontaktDaten.xlsx';Extended Properties=Excel 8.0"))
MyAdapter = New System.Data.OleDb.OleDbDataAdapter("Select * from [KontaktDaten$]", MyConnection)
Ds = New System.Data.DataSet
MyAdapter.Fill(Ds)
Me.DataGridView_Kontakte.DataSource = Ds.Tables(0)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
在上面的代码中,我将 Excel 数据文件导入到 datagridview,但我想让用户在加载文件窗口中选择自己的数据源成为可能。我怎样才能做到这一点?,我已经尝试过像这样修改我的代码,但我总是收到错误“Microsoft Acces 数据库无法打开或写入文件”。
Dim Path As New OpenFileDialog()
MyConnection = New System.Data.OleDb.OleDbConnection(String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=Excel 8.0", Path))
【问题讨论】:
-
只需更改查询即可。
-
你能给我举个例子吗?
-
我无法向您展示示例,因为我不知道您的数据源/列。但是您在上面自己输入了一个示例 (
Select * from [KontaktDaten$])。 -
我想我没有清楚地表达自己的问题,我想要的是能够在我的系统上选择任何 excel 文件,而不仅仅是:Data Source='C:\Users\matil\桌面\KontaktDatan.xlsx'