IIS下无法结束EXCEL进程

来源:互联网  时间:2016/6/30 4:37:24

关于网友提出的“ IIS下无法结束EXCEL进程”问题疑问,本网通过在网上对“ IIS下无法结束EXCEL进程”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: IIS下无法结束EXCEL进程
描述:

小弟在一个项目中将数据导出为EXCEL文件,并调用KillSpecialExcel方法关闭EXCEL进程,但总是报如下错误:access is denied,小弟的项目是部署到IIS6.0中的,在项目中直接运行是可以关闭的,在IIS下却老是报上面的错误,在网上也找不到相关的资料,我怀疑是权限问题,但该添加的账户我都添加了,还是不行,不知道是什么问题,请各位高手指教,谢谢!
附KillSpecialExcel方法: [DllImport("user32.dll", SetLastError = true)]     static extern int GetWindowThreadProcessId(IntPtr hWnd, out int lpdwProcessId);     public void KillSpecialExcel(Microsoft.Office.Interop.Excel.Application m_objExcel)
    {         try         {<>             if (m_objExcel != null)
            {                 int lpdwProcessId;                 GetWindowThreadProcessId(new IntPtr(m_objExcel.Hwnd), out lpdwProcessId);

                System.Diagnostics.Process.GetProcessById(lpdwProcessId).Kill();             }         }         catch (Exception ex)         {             MessageBox.Show(ex.Message);<>         }     }


解决方案1:

帮顶、、、

解决方案2:


        xBk.Close(false, null, null);
        excel.Quit();         System.Runtime.InteropServices.Marshal.ReleaseComObject(xBk);
        System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);
        System.Runtime.InteropServices.Marshal.ReleaseComObject(xSt);         xBk = null;         excel = null;         xSt = null;         GC.Collect();
解决方案3:

引用 4 楼 cmic 的回复:
怀疑是权限问题就把站点的application pool用administrastor运行,如果不行那就不是权限问题了。

/>
good 解决方案4:

你启动的excel的时候把权限设置成everyone  

引用楼主 dqceo 的回复:
小弟在一个项目中将数据导出为EXCEL文件,并调用KillSpecialExcel方法关闭EXCEL进程,但总是报如下错误:access is denied,小弟的项目是部署到IIS6.0中的,在项目中直接运行是可以关闭的,在IIS下却老是报上面的错误,在网上也找不到相关的资料,我怀疑是权限问题,但该添加的账户我都添加了,还是不行,不知道是什么问题,请各位高手指教,谢谢! 附KillSpec……
解决方案5:

怀疑是权限问题就把站点的application pool用administrastor运行,如果不行那就不是权限问题了。

解决方案6:

 xlApp.Workbooks.Close();<>                 xlApp.Quit();                 System.Runtime.InteropServices.Marshal.ReleaseComObject(ws);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(wb);                 System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);                 xlApp = null;                 wb = null;                 ws = null; System.Diagnostics.Process myproc= new System.Diagnostics.Process(); foreach (Process thisproc in Process.GetProcessesByName(processName)) { if(!thisproc.CloseMainWindow()){ thisproc.Kill(); }}

解决方案7:

帮顶,!!!!!!!!!!

上一篇数据库查询 将树形转换成路径
下一篇[在线等]aspnet页面间的跳转
明星图片
相关文章
《 IIS下无法结束EXCEL进程》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)