【发布时间】:2015-04-14 07:59:35
【问题描述】:
我正在使用 COM Interop 从 Centura Team Developer 程序访问 Excel,在我的应用程序中调用 Create 后 EXCEL.EXE 进程立即退出。由于 Excel 不再打开,所有以后的调用都会引发异常。
这种行为的原因可能是什么?
【问题讨论】:
标签: interop com-interop excel-interop
我正在使用 COM Interop 从 Centura Team Developer 程序访问 Excel,在我的应用程序中调用 Create 后 EXCEL.EXE 进程立即退出。由于 Excel 不再打开,所有以后的调用都会引发异常。
这种行为的原因可能是什么?
【问题讨论】:
标签: interop com-interop excel-interop
因为您没有将所有变量引用释放到 COM 对象。您需要将 COM 对象的变量引用设置为 null。
OleDbConnection OleConn = new OleDbConnection(strConn);
OleConn.Open();
String sql = "SELECT * FROM [Sheet1$]";
OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
DataSet OleDsExcle = new DataSet();
OleDaExcel.Fill(OleDsExcle, "Sheet1");
OleConn.Close();
OleConn = null;
与 OleConn 一样,您需要将所有变量引用释放到 COM 对象。
【讨论】: