本地环境:64位操作系统
VS2010,64位
office2010,64位
语言:C#
问题:vs2010以ADO方式访问Excel2010出现问题
xlsConStr为:Provider = Microsoft.ACE.OLEDB.12.0 ; Data Source = '***.xlsx';Extended Properties='Excel 12.0;HDR=No;IMEX=1'
using (OleDbConnection con = new OleDbConnection(xlsConStr))
{
try
{
con.Open();
}
catch (Exception ex)
{
string msg = "数据文件打开失败!\r\n错误:" + ex.Message;
MessageBox.Show(msg, "Excel导入", MessageBoxButtons.OK, MessageBoxIcon.Information);
return false;
}
finally
{
//
}
}
open时报错:外部组件发生异常
求解!
求解决方案!
在 System.Data.Common.UnsafeNativeMethods.IDBInitializeInitialize.Invoke(IntPtr pThis)
在 System.Data.OleDb.DataSourceWrapper.InitializeAndCreateSession(OleDbConnectionString constr, SessionWrapper& sessionWrapper)
在 System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)
在 System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
在 System.Data.OleDb.OleDbConnection.Open()