调用Excel组件问题
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
一台新的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、安装Office2、在开始-》运行中打入dcomcnfg.exe,启动组件服务。3、在组件服务中,选择控制台根目录-》组件服务-》计算机-》我的电脑-》DCOM配置-》Microsoft Excel应用程序,右击属性,打开属性窗口。4、在安全页签中,对配置启动和激活权限进行自定义,加入启动IIS进程帐户的完全权限。
[解决办法]
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)
即可
[解决办法]
我在用的时候也有OFFICE版本的问题。