首页 新闻 会员 周边

如何杀掉我自己开的EXCEL进程,而不把其它正在运行的EXCEL进程删除呢?

0
悬赏园豆:5 [已解决问题] 解决于 2013-05-07 11:30

xlsapp = new Excel.Application();建立一个新的Application
//
//
//
进行EXCEL导出之后,
xlsapp.Quit();
         System.GC.Collect();

但是这样一清除,把正在运行的EXCEL进程(比如打开着的详细设计书)都全部关闭了
如何解决呢?
谢谢大家

问题补充:

private void KillExcelProcess()
        {
            Process[] processArray = Process.GetProcessesByName("EXCEL");
            if (processArray == null || processArray.Count() <= 0) return;
            foreach (var excelProcess in processArray)
            {
                if (excelProcess == null || excelProcess.MainWindowTitle.Contains("Microsoft Excel")) continue;
                excelProcess.Kill();
            }
        }

我是这样处理的,现在情况是之前打开的3个excel文件没有被关闭,还是打开的,而且任务管理器中EXCEL的进程只有1个,初步实现了需求,但是觉得这个方法不太靠谱,会不会有隐藏的bug呀?求解???

fixbug11的主页 fixbug11 | 初学一级 | 园豆:10
提问于:2013-04-27 08:45
< >
分享
最佳答案
0

可以根据EXCEL的文件名删除,如

 

if(process.MainWindowTitle=="Microsoft Excel - "+ excelFileName)
  process.Kill();
收获园豆:5
Yu | 专家六级 |园豆:12980 | 2013-04-27 09:05
其他回答(3)
0

操作excel,比如导入导出数据可以用npoi

chenping2008 | 园豆:9836 (大侠五级) | 2013-04-27 08:54
0

我也建议用NPOI,地址:tonyqus.sinaapp.com

比自己写效率高,同时可以完成excel的基本所有操作,而且现在也比较成熟,楼主用这个吧

SOUTHER | 园豆:825 (小虾三级) | 2013-04-27 09:39
0

二楼正解

jerry-Tom | 园豆:4077 (老鸟四级) | 2013-04-27 10:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册