【发布时间】:2018-02-19 19:41:40
【问题描述】:
我正在尝试使用 VB.net 将数据集从 Excel 导入数据库。使用此代码,我总是会收到错误
外部表不是预期的格式。
Imports Excel = Microsoft.Office.Interop.Excel
Imports Microsoft.Office
Imports Microsoft.Office.Interop
Imports System.IO
Imports System.Data.SqlClient
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("provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\Users\matil\Desktop\Data.xlsx';Extended Properties=Excel 8.0;")
MyAdapter = New System.Data.OleDb.OleDbDataAdapter("Select * from [ExportedFromDatGrid$]", 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 文件的文件扩展名有关。有时在 Excel 中打开文件并转到
File > Save As然后更改扩展名可以解决问题(尝试另存为 2003 Excel 文件等) -
Jet 提供程序无法读取 .xlsx 文件格式。使用 ACE 提供程序。