首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

excel历程不能关闭

2013-07-01 
excel进程不能关闭服务器读取完excel后想把excel进程关闭,试了下面的方法都不行if (excelApp ! null){//M

excel进程不能关闭
    服务器读取完excel后想把excel进程关闭,试了下面的方法都不行

if (excelApp != null)
                {
                    //Marshal.ReleaseComObject(excelApp);                    
                    excelApp.Quit();
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(excelApp);
                    //KillExcel(excelApp);
                    excelApp = null;
                }    
    ReleaseComObject不能关闭进程
    
private static void KillExcel(Microsoft.Office.Interop.Excel.Application theApp)
        {
            int id = 0;
            IntPtr intptr = new IntPtr(theApp.Hwnd);
            System.Diagnostics.Process p = null;
            try
            {
                GetWindowThreadProcessId(intptr, out id);
                p = System.Diagnostics.Process.GetProcessById(id);
                if (p != null)
                {
                    p.Kill();
                    p.WaitForExit();
                    p.Dispose();
                }
            }
            catch (Exception ex)
            {

            }
        }
  p.Kill();会报拒绝访问错误 
------解决方案--------------------


应该是权限问题了。excel历程不能关闭
[解决办法]
直接Kill 名字Excel的进程
[解决办法]
Insus.NET的做法,是在站点建一个存放临时文件的目录如Temp
所有上传,打开,或处理文件的数据,均把文件摆放在此目录中。由于文件名是使用GUID来处理,因此你每次打开相同的文件,均会是不相同名的文件。程序处理完毕就不必管它了,无需当时就去想办法去把它们移走,删除等。

这样的的话,这个目录的文件那不是越来越多,是的,不错。可以参考下理处理方法:
http://www.cnblogs.com/insus/articles/1431986.html
[解决办法]
我以前的一个帖子 你参考下
老虎传送门
[解决办法]
你写的代码有问题,没有释放资源,被占用着能删掉才怪

热点排行