最近在web项目中做了一个导出Excel功能。在导出的时候报错:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败。

一般情况下,不能正确导出excel的原因有三个: 1、用户权限不够; 2、应用程序池没有配置正确; 3、导出后是在服务器还是客户端没有搞清楚。

对于上面提到的报错,属于用户权限不够,所以需要设置用户相应的权限。 很多网友提出解决方案:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务",然后一步一步的找到Microsoft Excel,然后对该项进行设置,然后在64位机上找不到Excel应用程序。

由于dcomcnfg是32位配置,在64位系统下能够完全被支持。所以只需要找到打开32位的dcomcnfg的方式就可以解决找不到的问题了: 1.运行:mmc -32; 2.打开“文件”-“添加或删除管理单元”-选择组件服务-点击添加-确定; 3.可以在DCOM组件中找到Microsoft Excel Application了。

找到后,对Microsoft Excel进行设置: 1.右击选择属性,点击"标识"标签,选择"交互式用户"; 2.点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限; 3.依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限。 参考:http://jb51.net/os/windows/win2008/73326.html

用户有了权限,还需要对应用程序池正确配置,不然仍然有可能导出不成功。 打开iis,然后打开应用程序池的高级设置,点击进程模式,将网站的AppPool标识设置为NetworkService;打开常规,设置启动32位应用程序为true。对IIS进行这两步设置,应该就够了。 如果仍然不能导出成功,你就该考虑第三种情况了:你在客户端可能将文件导出到了服务器。解决方案也比较简单,换一种思路呗。大家可以参考下面这篇文章,里面有各种导出Excel的方案: 参考:http://jb51.net/article/34091.htm

这里再次导出的时候,由于会有服务器到客户端的数据传输,还会遇到显示格式的问题,我这里就不做详细说明了,提供给大家一个链接,如果遇到此问题的话,可以做个参考: 参考:http://jb51.net/article/34092.htm

另外,如果你想给导出的Excel文件起个中文名字,您还会遇到编码解码问题,这个就不提供链接了,网上关于编码的问题多的是,大家自己看着解决吧。 本文主要分析了导出Excel的各种原因,以及给出了简要的解决思路。如果大家还有跟好的解决方法,欢迎指正。 详细出处参考:http://www.jb51.net/os/windows/73325.html

64位系统web项目导出excel问题分析及解决方法汇总的更多相关文章

  1. 关于64位 MS SQL 导入导出 Oracle 引发 ORA-06413 的解决方法

    如果在X64系统下我们想利用 MS SQL 的DTS导入导出 Oracle 数据,由 oracle 不支持路径中包含")",会引发 ORA-06413:连接未打开错误 解决的办法很 ...

  2. 64位系统 IIS不支持 Excel导入的问题

    64位系统不支持读取excel的问题: 应用程序池-常规选项 启用32应用程序 启用23应用程序是为了保证32应用程序能够正常运行

  3. SQL Server 导出Excel有换行的解决方法

    参考地址::https://vcoo.cc/blog/1234/ 从 SQL Server 查询结果中复制结果数据粘贴到 Excel 中存在这么个问题:如果字段内容中有换行符,那么粘贴到 Excel ...

  4. 关于32位程序在Win7&64位系统中连接Microsoft Excel数据源的问题

    最近在新公司电脑上跑以前的selenium测试框架的时候,抛出了如下的错误 出现的是ODBC Driver问题:[Microsoft][ODBC Driver Manager] Data source ...

  5. windows 2008 R2 64位系统,找到Microsoft Excel 应用程序

    在windows  2003 操作系统中, 1.在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务", 2.依次双击& ...

  6. 解决SQL Server 2008 64位系统无法导入Access/Excel的问题 2012/08/01

    操作系统Windows Server 2008 X64,数据库SQL Server 2008 X64,Office 2007(好像只有32位),在存储过程执行OpenDatasource导入Acces ...

  7. 终于解决SQL Server 2008 64位系统无法导入Access/Excel的问题 2012/08/01

    最近更换了新服务器,操作系统Windows Server 2008 X64,数据库SQL Server 2008 X64,Office 2007(好像只有32位),在存储过程执行OpenDatasou ...

  8. 解决SQL Server 2008 64位系统无法导入Access/Excel的问题

    最近更换了新服务器,操作系统Windows Server 2008 X64,数据库SQL Server 2008 X64,Office 2007(好像只有32位),在存储过程执行OpenDatasou ...

  9. office在繁体系统下 导入导出 功能灰显的解决方法

    当在win7系统使用繁体中文版的office时,或系统是繁体版时,可能会导致office的导入导出功能无法使用 解决方法: 控制面板--区域和语言--格式--中文简体

随机推荐

  1. java基础篇---正则表达式

    正则表达式在许多语言,例如Perl.PHP.Python.JavaScript和JScript,都支持用正则表达式处理文本,一些文本编辑器用正则表达式实现高级“搜索-替换”功能. 正则表达式是一种可以 ...

  2. # Writing your first Django app--part 3 about view

    添加更多的view 写actually有用的view 使用模版来设计view 使用模版设计view的捷径:render() 抛出异常404 抛出异常404-快捷方法: get_object_or_40 ...

  3. Base64与MD5的区别

    Base64和MD5都可用于做信息的简单加密,两者的简单差别如下: Base64 可逆性. 可以将图片等二进制文件转换为文本文件. 可以把非ASCII字符的数据转换成ASCII字符,避免不可见字符. ...

  4. C语言 · 周期字串

    算法提高 周期字串   时间限制:1.0s   内存限制:256.0MB      问题描述 右右喜欢听故事,但是右右的妈妈总是讲一些“从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事,讲的什么呢 ...

  5. if 语句练习 身高体重问题

    public class d { /** * @param args */ public static void main(String[] args) { // TODO 自动生成的方法存根 int ...

  6. OpenWRT中的按键和灯的GPIO控制实现_转

    本文转自:OpenWRT中的按键和灯的GPIO控制实现 基于BarrierBreaker版本,基于AR9331 AP121 Demo单板 来进行描述 1.灯 A.在mach-ap121.c中,定义了灯 ...

  7. 在android程序中打开另一个应用程序

    Android 开发有时需要在一个应用中启动另一个应用,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用. 一般我们知道了另一个应用的包名和MainActivity的名 ...

  8. R语言-连接MySQL数据库方法

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   R语言连接数据库常用的方法有2种: 1.使用R数据库接口 连接MySQL,使用RMySQL包,使用前RMySQL包要先安 ...

  9. Qt QTcpSocket 对连接服务器中断的不同情况进行判定

    简述 对于一个C/S结构的程序,客户端有些时候需要实时得知与服务器的连接状态.而对于客户端与服务器断开连接的因素很多,现在就目前遇到的情况进行一下总结. 分为下面六种不同情况 客户端网线断开 客户端网 ...

  10. svn解决不能clean的方法

    http://blog.csdn.net/victory08/article/details/42100325 svn执行clean up后出现提示:svn cleanup failed–previo ...