ASP.NET无法创建ActiveX组件

win*_*sql 6 asp.net excel activexobject

我有一个ASP.NET应用程序,允许用户每月将员工的缺席导出到Microsoft Excel.该应用程序当前正在生成以下异常

例外:无法创建ActiveX组件.

使用以下堆栈跟踪

System.Exception:无法创建ActiveX组件.位于H.\Development\pagec\Visual Studio 2005\Projects\HR\ysnet2\Time\ManagerSummary.aspx.vb中HR.ManagerSummary.ExportToExcel()的Microsoft.VisualBasic.Interaction.CreateObject(String ProgId,String ServerName):line 935 at HR.ManagerSummary.btnExcel_Click(Object sender,EventArgs e)位于H:\ Development\pagec\Visual Studio 2005\Projects\HR\ysnet2\Time\ManagerSummary.aspx.vb:第891行,位于System.Web.UI.WebControls .Button.OnClick(EventArgs e)System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)at System System.Web.UI.Page.ProcessRequestMain的System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)中的.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl,String eventArgument)(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)

代码在CreateObject行失败.

    'Create the Excel object
    Dim objXL As Object = CreateObject("Excel.Application") ' New Microsoft.Office.Interop.Excel.Application
    Dim objWB As Object = objXL.Workbooks.Add
    Dim objWS As Object = objWB.Worksheets(1)
Run Code Online (Sandbox Code Playgroud)

我在IOMR_帐户的DCOM Config for Microsoft Excel Application中设置了权限,但是没有解决问题.任何想法将不胜感激.

干杯

詹姆士

win*_*sql 5

在将我们的ASP.NET应用程序迁移到新硬件之后,我进一步研究了这个问题,并提出了一个解决方案.

要解决此问题,请从"管理工具"中打开"组件服务",然后导航如下:

  • 组件服务 - >计算机 - >我的电脑 - > DCOM配置 - > Microsoft Excel应用程序
  • 右键单击Microsoft Excel应用程序 - >属性 - >安全选项卡
  • 单击"自定义"以显示"启动和激活权限" - >"编辑" - >"添加"
  • 输入"NETWORK SERVICE",单击"检查名称",然后单击"确定"
  • 允许"网络服务"的"本地启动"和"本地激活",然后单击"确定"
  • 选择自定义"访问权限" - >编辑 - >添加
  • 输入"NETWORK SERVICE",单击"检查名称",然后单击"确定"
  • 对"NETWORK SERVICE"允许"本地访问",然后单击"确定"
  • 单击确定

ASP.NET应用程序现在可以成功创建包含导出数据的Microsoft Excel工作表.