【问题标题】:EXCEL.EXE process closes immeditately when using COM Interop使用 COM 互操作时 EXCEL.EXE 进程立即关闭
【发布时间】:2015-04-14 07:59:35
【问题描述】:

我正在使用 COM Interop 从 Centura Team Developer 程序访问 Excel,在我的应用程序中调用 Create 后 EXCEL.EXE 进程立即退出。由于 Excel 不再打开,所有以后的调用都会引发异常。

这种行为的原因可能是什么?

【问题讨论】:

    标签: interop com-interop excel-interop


    【解决方案1】:

    因为您没有将所有变量引用释放到 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 对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-21
      • 1970-01-01
      • 1970-01-01
      • 2017-08-12
      • 2020-04-17
      • 1970-01-01
      • 2012-07-10
      相关资源
      最近更新 更多