从Excel工作表传递数据到DataGridView使用VB.NET
问题描述:
我正在致力于一个项目,旨在导入和导出数据从datagridview到excel表和viceversa。到目前为止,我设法从我的datagridview发送数据到Excel,但我不能从Excel做它的DataGrid ...我尝试下面的代码:从Excel工作表传递数据到DataGridView使用VB.NET
Dim dtSheet1 As New DataTable
Using cn As New System.Data.OleDb.OleDbConnection
Dim Builder As New OleDbConnectionStringBuilder With
{
.DataSource = filename,
.Provider = "Microsoft.ACE.OLEDB.12.0"
}
Builder.Add("Extended Properties", "Excel 16.0; IMEX=1;HDR=Yes;")
cn.ConnectionString = Builder.ConnectionString
cn.Open()
Using cmd As OleDbCommand = New OleDbCommand With {.Connection = cn}
cmd.CommandText = "SELECT * FROM [Sheet1$]"
Dim dr As System.Data.IDataReader = cmd.ExecuteReader
dtSheet1.Load(dr)
datagridview1.DataSource = dtSheet1
End Using
End Using
,但我不断遇到异常:(我试图从任意CPU到x64改变我的项目的目标...)
类型的未处理的异常“System.InvalidOperationException”出现在system.data.dll 其他信息:“Microsoft.ACE .OLEDB.12.0“提供程序未在本地计算机上注册。
因此:有没有什么办法可以将数据从excel发送到datagrid而无需使用OLEDB?如果是这样,我将非常感激解决方案,可以让我摆脱这一点,已经在这工作了3天...
祝你有美好的一天! (:
答
其实这是更好:
'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine
看到所选答案有请务必阅读评论它下面
你可以看一下连接字符串这里寻求帮助。: https://www.connectionstrings.com/excel-2007/ – Derek
谢谢,Derek!我认为这些字符串将会非常有用,现在我只需要弄清楚如何根据新的连接字符串结构更改我的代码;) –