使用Microsoft.Office.Interop.Excel时,64位问题

前不久,碰到一个问题。

曾经用的好好的Microsoft.Office.Interop.Excel实现的导出Excel,迁移至64位server后,就出现:

检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败

查询了下网上大家的解决的方法。差点儿千篇一律都是例如以下的解决方案:

在64位机器安装office后,做例如以下设置。


1:在"開始"->"执行"中输入dcomcnfg.exe启动"组件服务"

2:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"

3:在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框

如没有Microsoft Excel 。第一步换为:comexp.msc -32


4:点击"标识"标签,选择"交互式用户"

5:点击"安全"标签,在"启动和激活权限"上点击"自己定义",然后点击相应的"编辑"button,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.

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

或者NETWORK SERVICE或everyone都加入设置。

我试了一下,按如上步骤基本是能够解决问题。

只是,总是不方便。谁没事为了这个功能去安装一次office呢,所以。不妨不要用Microsoft.Office.Interop.Excel这样的方式导入导出EXCEL了。换用别的方式。

其它导出excel方式见后文。

时间: 2024-08-06 16:01:03

使用Microsoft.Office.Interop.Excel时,64位问题的相关文章

引用Microsoft.Office.Interop.Excel出现的问题

引用Microsoft.Office.Interop.Excel出现的问题 转自:http://www.hccar.com/Content,2008,6,11,75.aspx,作者:方继祥 操作背景:asp.net操作Excel 出现问题:在本地添加引用(com):Microsoft Office 11.0 Object Library,并写好程序调试正常,部署到服务器时,出现异常 Excel.Application不是对象. 初步诊断:服务器没有安装Excel组件 第一步尝试解决:对服务器安装

Microsoft.Office.Interop.Excel.ApplicationClass can not embedded 的问题

用c#进行开发时,要做一个excel导入功能,期间使用到Microsoft.Office.Interop.Excel程序集,在用vs2008开发的时候没有报错,将这个程序集引用到vs2010的时候,便报错了:interop type 'Microsoft.Office.Interop.Excel.ApplicationClass' cannot be embedded. 解决方法:点击程序集(DDL),右键-属性,将embed interop types 更改为false. Microsoft.

Visual Studio 进行Excel相关开发,Microsoft.Office.Interop.Excel.dll库

1. Interop.Excel.dll 的查找 本文中将 Microsoft.Office.Interop.Excel.dll库简称为Interop.Excel.dll库 其实在使用Visual Studio进行Office的Excel开发时,Microsoft.Office.Interop.Excel.dll 可以在类似于下面的目录中找到.并不需要再在网上下载了. E:\Program Files\Microsoft Visual Studio 11.0\Visual Studio Tool

Microsoft.Office.Interop.Excel 放到B/S客户端失败问题 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80070005 拒绝访问。

检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80070005 拒绝访问. (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED)). 解决办法:(转) http://blog.csdn.net/wzhibin/article/details/1816690 用.net写了一个相关Excel的B/S的程序,部署到2003企业版的服务器上遇到这个错误:检索 COM

IIS中使用Microsoft.Office.Interop.Excel 常见问题

IIS中使用Microsoft.Office.Interop.Excel 异常1: 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失 败,原因是出现以下错误: 80080005. 解决方案: A. 检查IIS发布的网站上的用户组有Administrators用户权限 B. 配置COM组件,用win+r命令打开命令运行窗口,输入Dcomcnfg命令,进入组件服务配置界面,找到“Microsoft Excel Appli

Microsoft.Office.Interop.Excel的用法以及利用Microsoft.Office.Interop.Excel将web页面转成PDF

1.常见用法           using Microsoft.Office.Interop.Excel; 1)新建一个Excel ApplicationClass ExcelApp = New ApplicationClass();    Microsoft.Office.Interop.Excel.Workbook book = ExcelApp.Workbooks.Add(); 2) 更改 Excel 标题栏: ExcelApp.Caption := '应用程序调用 Micr

Excel操作 Microsoft.Office.Interop.Excel.dll的使用

先说说题外话,前段时间近一个月,我一直在做单据导入功能,其中就涉及到Excel操作,接触Excel后发现他的api说明并不多,好在网上有很多朋友贴出了一些代码,我在不断的挫折中吸取了很多教训,现共享出来,给大家参考. 1. 最好在客户端使用,不要在B/S服务端使用,因为会受到IIS权限和占用内存影响,多人并发操作必然完蛋 2. 需要引入两个DLL,Microsoft.Office.Interop.Excel.dll和office.dll,在加上项目的时候,会报错“类型“Microsoft.Off

使用 Microsoft.Office.Interop.Excel.dll 更新Excel的ColumnName

Microsoft.Office.Interop.Excel.dll 是MS提供的用于操作Excel的类库,这个类库非常强大,笔者最近遇到一个项目,需要修改Excel的列名,并且做成SSIS Package,在ssms中生存job自动执行.之前考虑使用NPOI,但是在使用NPOI时,Script task不能将NPOI自动导入到.net framework,需要执行一个gacutil的脚本,有点麻烦,既然Microsoft.Office.Interop.Excel.dll是微软的东西,肯定是已经

NPOI写Excel,Microsoft.Office.Interop.excel.dll 转换Excel为PDF

首先要引用NPOI动态库和Microsoft.Office.Interop.excel.dll (Microsoft.Office.Interop.excel.dll 下载链接,下载以后解压文件,把Microsoft.Office.Interop.excel.dll拷贝到项目下,添加引用.NPOI的添加则项目选中右键使用管理NuGet管理程序包,nuget添加NPOI即可) 上述工作完成,下面直接代码 using System;using System.Collections.Generic;u