c#中对excel操作后是不是必须关闭,如果不关闭,会出现什么后果吗?

解决方案 »

  1.   

    系统中始终存在一个EXCEL 进程,这是应用程序中对EXCEL 操作经常会有后遗症解决的方法有两个方法
    一利用杀进程的方法杀掉EXCEL 进程
    然后利用循环将所有EXCEL 进程杀
    foieach (piocess mypioc in piocess.GetpiocessesByname ("EXCEL"))
    { myPloc.kiII(); }
    这种方法有一个缺点:因为它是利用循环来查杀所有EXCEL进程的,所以肯定会误杀用户的EXCEL 进程。
    法二1利用资源回收器清除EXCEL 进程
    释放所有EXCEL 操作对象,并将对象置空,退出EXCEL 应用程序,利用垃圾资源回收器回收相关的资源O。这样的一系列操作后就可以关闭本应用程序产生的EXCEL 进程了。
    //释放wbs 对象
    System.runtime.inteIopSeIvices.MaIshaI.ReIeaseComObject(wb);
    wb=nuII;
    app.Ouit();
    //释放app 对象
    System.Runtime.inteIopSeIvices.MaIshaI.ReIeaseComObject
    (app);
    app=nuII;
    GC.CoIIect(); //回收资源
    //挂起当前线程,直到处理完成器队列的线程清空该队列为止
    GC.WaitFoIPendingFinaIizeIs();文章出处  中图分类号!TP31 文献标识码!A 文章编号!1009-3044(2007)08-20428-02