首页 > 软件专区 > SharePoint >

IIS上传Excel 2007文件出错,未注册OFFICE组件

来源:互联网 2023-03-15 22:58:21 版权归原作者所有,如有侵权,请联系我们

在windows 2008 r2 x64版本的操作系统中通过oledb提供程序连接访问Excel2007/2003时,程序会报如下错误:xLJ办公区 - 实用经验教程分享!

System.InvalidOperationException: The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.xLJ办公区 - 实用经验教程分享!

工具/原料

Excel文件、AccessDatabaseEngine

分析原因

1

此查找资料认为产生此种错误的原因有两种:xLJ办公区 - 实用经验教程分享!

1、在Windows2008r2 x64 OS,在没有装Office2007客户端时,或没有安装“数据连接组件”xLJ办公区 - 实用经验教程分享!

2、当前Web应用程序的应用程序池是64位的Sharepoint应用程序池下时,因为提供连接Excel的provider不支持当前64版本的操作系统。xLJ办公区 - 实用经验教程分享!

解决方法1:

1

安装MS的数据连接组件AccessDatabaseEngine(或安装office 2007客户端)。并将当前承载通过oledb提供程序去访问Excel2007的Web application对应的应用程序池“启用兼容32位应用程序”。xLJ办公区 - 实用经验教程分享!

2

在对应的IIS应用程序池中,“设置应用程序池默认属性”右击/“高级设置”/"启用32位应用程序",设置为true。xLJ办公区 - 实用经验教程分享!

解决方法2:

1

安装AccessDatabaseEngine_64版并且要安装64位版的office 2010客户端。xLJ办公区 - 实用经验教程分享!

解决方法3:

1

若目标应用程序不能将应用程序池"启用兼容32位应用程序",只能在64位应用程序池下运行,且又想有上传Excel的功能,可按如下方式:xLJ办公区 - 实用经验教程分享!

2

a、创建Asp.net WebService application程序,并通过WebService来连接访问Excel。xLJ办公区 - 实用经验教程分享!

3

b、将此webservice application的应用程序池按方案1方式设置“启用兼容32位应用程序”。xLJ办公区 - 实用经验教程分享!

4

c、在目标应用程序中添加此webservice。xLJ办公区 - 实用经验教程分享!

注意事项

一般情况在服务器直接安装MS Office Excel也可以,比较方便。单独安装数据连接组件AccessDatabaseEngine并重启也可以。

以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!xLJ办公区 - 实用经验教程分享!


标签:

办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号