当循还读取excel文件时,关闭应用程序出错处理办法

        当从excel中循还读取数据(window form)。当这读取过程未完成时,关闭窗口,导致程序抛出异常:Additional information: Exception from HRESULT: 0x800A01A8,有的时候是: RPC服务器不可用,而且调试时,VS不能自动中断,循还代码还会继续执行。
        经过摸索,我把循还代码放到一个线程里执行,并把线程,excel对象提升为窗体级别,并注册Closing事件。 代码如下:
private   void  frmMain_Closing( object  sender, CancelEventArgs e)
        
{
            
if( thread != null )
           
{
                thread.Abort( );
                thread.Join( );
            }


            
ifthis.excel != null )
          
{
                
this.excel.Dispose( );
            }

        }
      excel重新封装了。相应的方法如下。
public   void  Dispose()
        
{
            Dispose(
true);
            GC.SuppressFinalize(
this);
        }

        

        
private   void  Dispose( bool  disposing)
        
{
            
if(disposing)
            
{
                
this.excel.Quit( );
            }

        }
      目前运行良好~

你可能感兴趣的:(Excel)