【发布时间】:2015-03-17 04:39:05
【问题描述】:
我正在尝试使用 Oledb Connection 从我的 vb 应用程序访问 Excel。 这是我的连接字符串:
<add key="ExcelConnection" value="Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties="Excel 12.0 Xml;HDR=NO;IMEX=1;MAXSCANROWS=1000;READONLY=FALSE;"" />
代码如下:
Dim connection As New System.Data.OleDb.OleDbConnection(ExcelConnectionString)
connection .Open()
Dim schTbl As DataTable = connection .GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, Nothing)
Dim dbAdapter As System.Data.OleDb.OleDbDataAdapter
Dim execQuery As String
Dim rtnData As System.Data.DataTable
execQuery = "SELECT * FROM [" & schTbl.Rows.Item(0)("TABLE_NAME") & "]"
dbAdapter = New System.Data.OleDb.OleDbDataAdapter(execQuery , ExcelConnectionString)
dbAdapter.Fill(rtnDat )
dbAdapter.Dispose()
connection .Close()
schTbl .Reset()
我的问题是,上面 70% 的时间都在工作,但其余时间我收到以下错误:
System.Data.OleDb.OleDbException (0x80004005): External table is not in the expected format.
谁能帮我解释一下为什么有时我会收到这个错误。有没有办法纠正它或任何其他方式来获得相同的结果。
任何帮助将不胜感激。
谢谢
【问题讨论】:
标签: vb.net excel excel-2007 xlsx import-from-excel