我正在开发一个项目,旨在将数据从datagridview导入和导出到excel表,反之亦然。到目前为止,我设法将数据从我的datagridview发送到excel,但我无法从excel到datagrid ...我尝试了以下代码:
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.Data.dll中发生了未处理的“System.InvalidOperationException”类型异常 附加信息:“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册。
那么:有没有什么方法可以在不使用OLEDB的情况下将数据从excel发送到datagrid?如果是这样的话,我会非常感谢能够让我摆脱困境的解决方案,已经为此工作了3天......
美好的一天! (:
答案 0 :(得分:0)
实际上这更好:
'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine
在那里查看所选答案。请务必阅读下面的评论。