首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 调用Excel组件问题 [已结帖,结帖人:cookies10wen]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cookies10wen
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2008-11-15 09:44:56 楼主
    VB.NET code
    Protected Sub Button4_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button4.Click Dim xlApp As Microsoft.Office.Interop.Excel.Application xlApp = CType(CreateObject("Excel.Application"), Microsoft.Office.Interop.Excel.Application) Dim xlBook As Microsoft.Office.Interop.Excel.Workbook xlBook = xlApp.Workbooks.Open(savepath) Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet xlSheet = xlBook.Worksheets("Sheet1") xlBook.Save() xlBook.Close() xlApp.Workbooks.Close() xlApp.Quit() System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBook) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp) xlBook = Nothing xlApp = Nothing GC.Collect() End Sub


    本人在VS中右击页面>>>在浏览器中查看  使用正常

    但是在IIS中调试出现以下错误:

    无法创建 ActiveX 组件。


    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

    异常详细信息: System.Exception: 无法创建 ActiveX 组件。

    源错误:
    行 24:            Dim xlApp As Microsoft.Office.Interop.Excel.Application
    行 25:            xlApp = CType(CreateObject("Excel.Application"), Microsoft.Office.Interop.Excel.Application)
    行 26:            Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
    行 27:            xlBook = xlApp.Workbooks.Open(savepath)


    请问这是什么原因..?????
    50  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • essenza
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-15 09:50:051楼 得分:5
    是不是由于在租用的空间上没有注册excel.dll?
    自己的服务器就装一个office

    winform的话,就添加引用excel.dll
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • essenza
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-15 09:52:062楼 得分:20
    这是网上的一个解决办法,
    不知道是否有用:
    ------------------------
    在XP + Vs2003 环境下开发 一个Excel报表,碰到这个问题,经过一番探究,找到了解决方法,

    1、在开始-》运行中打入dcomcnfg.exe,启动组件服务。

    2、在组件服务中,选择控制台根目录-》组件服务-》计算机-》我的电脑-》DCOM配置-》Microsoft Excel应用程序,右击属性,打开属性窗口。

    3、在安全页签中,对配置启动和激活权限进行自定义,加入启动IIS进程帐户和 Everyone 的完全权限。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • essenza
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-15 09:52:573楼 得分:20
    VB.NET code
    一台新的WIN2K3机器,IIS6.0。在运行一个使用到EXCEL自动化的页面时,出现了以下的错误。 Select Distinct WSN from VBApplication.dbo.WF_LIFactView where WS = 'ACC08EAE-D161-4DD7-A166-6DA76630600F';Select * from VBApplication.dbo.WF_LIFactView where WS = 'ACC08EAE-D161-4DD7-A166-6DA76630600F' and LI = '%'and [Year] = 2006 and [Month] = 1System.Exception: 无法创建 ActiveX 组件。 在 Microsoft.VisualBasic.Interaction.CreateObject(String ProgId, String ServerName) 在 ASP.report_wf_lireport_aspx.Page_Load(Object sender, EventArgs e) 位置 D:\PortalXP\Report\WF\LIReport.aspx:行号 67路径不能为空。参数名: path 其实这个错误是由于IIS账户没有创建EXCEL进程实例引起的,只要做以下的步骤就可以了。 1、安装Office 2、在开始-》运行中打入dcomcnfg.exe,启动组件服务。 3、在组件服务中,选择控制台根目录-》组件服务-》计算机-》我的电脑-》DCOM配置-》Microsoft Excel应用程序,右击属性,打开属性窗口。 4、在安全页签中,对配置启动和激活权限进行自定义,加入启动IIS进程帐户的完全权限。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cookies10wen
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-15 10:00:464楼 得分:0
    引用 2 楼 essenza 的回复:
    这是网上的一个解决办法,
    不知道是否有用:
    ------------------------
    在XP + Vs2003 环境下开发 一个Excel报表,碰到这个问题,经过一番探究,找到了解决方法,

    1、在开始-》运行中打入dcomcnfg.exe,启动组件服务。

    2、在组件服务中,选择控制台根目录-》组件服务-》计算机-》我的电脑-》DCOM配置-》Microsoft Excel应用程序,右击属性,打开属性窗口。

    3、在安全页签中,对配置启动和激活权限进行自…


    晕...我右击的时候没有属性..只有查看,从这里创建窗口还有帮助..
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cookies10wen
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-15 10:02:095楼 得分:0
    补充说明..我是在本机上配置使用的...不是租用的空间...装有Office的XP系统...
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • groundsky
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-18 12:36:426楼 得分:3
    Dim xlApp As Microsoft.Office.Interop.Excel.Application
    应改为
    Dim xlApp As new  Microsoft.Office.Interop.Excel.Application

    删除
              xlApp = CType(CreateObject("Excel.Application"),       
                Microsoft.Office.Interop.Excel.Application)
    即可
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cookies10wen
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-18 16:49:267楼 得分:0
    “/TestExcel”应用程序中的服务器错误。
    --------------------------------------------------------------------------------

    检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。


    楼上的改完后出现这样的错误...
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • killserver
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-18 18:22:428楼 得分:2
    我在用的时候也有OFFICE版本的问题。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cookies10wen
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-19 08:00:449楼 得分:0
    我用的是03版本的..
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved