我对 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 读取它就可以了。