在Windows2008 R2系统中无法看见Microsoft Excel Application的问题解决方案

http://blog.csdn.net/kongwei521/article/details/43699503


最近在服务器和本地调用delphi写的导出Excel 的webservices,出现一系列配置和权限问题,现在一一记录下来。

Error 信息:

  1. “/”应用程序中的服务器错误。  
  2. --------------------------------------------------------------------------------  
  3.  拒绝访问。, ProgID: "excel.application"   
  4. 说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。   
  5.   
  6. 异常详细信息: System.Web.Services.Protocols.SoapHeaderException: 拒绝访问。, ProgID: "excel.application"  
  7.   
  8. 源错误:   
  9.   
  10. 行 159:        [return: System.Xml.Serialization.SoapElementAttribute("return")]  
  11. 行 160:        public string xxxx(string tbdatasource, string tshipmentbh, string toutbh, string serverpath) {  
  12. 行 161:            object[] results = this.Invoke("xxxx", new object[] {  
  13. 行 162:                        tbdatasource,  
  14. 行 163:                        tshipmentbh,   
  15.   
  16. 源文件: d:\WebApplication4\WebApplication4\Web References\WebReference\Reference.cs    行: 161   
  17.   
  18. 堆栈跟踪:   
  19.   
  20. [SoapHeaderException: 拒绝访问。, ProgID: "excel.application"]  
  21.    System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response,   
  22. Stream responseStream, Boolean asyncCall) +507386  
  23.    System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) +215  
  24.    WebApplication4.WebReference.Imainservice.jianzhen(String tbdatasource, String tshipmentbh, String toutbh, String serverpath) in   
  25. d:\WebApplication4\WebApplication4\Web References\WebReference\Reference.cs:161  
  26.    WebApplication4.WebForm1.Page_Load(Object sender, EventArgs e) in d:\WebApplication4\WebApplication4\WebForm1.aspx.cs:16  
  27.    System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +51  
  28.    System.Web.UI.Control.OnLoad(EventArgs e) +92  
  29.    System.Web.UI.Control.LoadRecursive() +54  
  30.    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +772  
  31.    
  32. --------------------------------------------------------------------------------  
  33. 版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.34237   


32位系统处理方法:

1)。开始--〉运行--〉cmd 或者直接在WIN7以上版本开始中里面的搜索输入

2)。命令提示符下面,输入comexp.msc,会直接打开组件服务

在Windows2008 R2系统中无法看见Microsoft Excel Application的问题解决方案

3)。点击组件服务=》计算机=》我的电脑=》DCOM配置 =》找到 Microsoft Excel Application(前提需要安装office,如果你的系统是64位请往下看64位系统的配置方法)

在Windows2008 R2系统中无法看见Microsoft Excel Application的问题解决方案

4)。 在"DCOM配置"中找到"Microsoft Excel Application",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框,然后点击标识=》选择交互式用户。

在Windows2008 R2系统中无法看见Microsoft Excel Application的问题解决方案在Windows2008 R2系统中无法看见Microsoft Excel Application的问题解决方案

5)。点击"安全"标签,在"启动和**权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"启动和**权限"对话框中填加一个"NETWORK SERVICE"和"Everyone"用户,并给它赋予"本地启动"和"本地**"权限

在Windows2008 R2系统中无法看见Microsoft Excel Application的问题解决方案

6)。依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"访问权限"对话框中也填加一个"NETWORK SERVICE"和"Everyone"用户,然后赋予"本地访问"权限.

在Windows2008 R2系统中无法看见Microsoft Excel Application的问题解决方案

7)。依然是"安全"标签,在"配置权限"上点击"自定义",然后点击"编辑",在弹出的"更改配置权限"对话框中也填加一个"NETWORK SERVICE"和"Everyone"用户,然后赋予"读取"权限.

在Windows2008 R2系统中无法看见Microsoft Excel Application的问题解决方案

8)。重启IIS服务。测试结束。

9)。如果你本机或者服务器安装了office 2003 然后又安装了 office2007兼容包的话请参考下图设置。(ps:需要同事设置Office 2007 工作薄的相关权限)

在Windows2008 R2系统中无法看见Microsoft Excel Application的问题解决方案


X64位解决方法http://blog.csdn.net/kongwei521/article/details/43698667