0

我对 OleDB & Excel 很困惑。

我有2个文件:

One is saved in Excel 2007
One is saved in Excel 2010

这是因为某些计算机具有 2007 和其他 2010 版本的 Microsoft Excel。

在 vb.net 我使用:

 m_sConn1 = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='{0}';Extended Properties='Excel 12.0;HDR=NO;IMEX=1';", file)

什么时候做:

conn1 = New System.Data.OleDb.OleDbConnection(m_sConn1)
conn1.open()

使用 save-in-2010 文件我得到 0 个错误。有了 2007 年保存的那个,我得到了

"External table is not in the expected format"

这是两个版本的字符串连接吗?我应该改用互操作吗?(因为该文件是使用 Interop Excel 12.0 自动生成的,并且适用于 2007 年和 2010 年)。

我已经安装了 2007 Office System 驱动程序:来自http://www.microsoft.com/en-us/download/details.aspx?id=23734的数据连接组件

编辑:

  • 如果我在 2010 年打开 2007 文件并保存它,oleDB 读取它就可以了。
4

1 回答 1

1

这是一个已经报告的错误。只有 Excel 2007 有此错误,MS 知道但从未解决。

该项目只能使用 w/excel 2007。

于 2012-10-15T16:46:34.067 回答