2013-07-10 36 views
3

我们已经开发了两个项目WCFASP.net Website.The WCF服务由执行练成一代 它有类似Excel的自动化WCF

Excel.Application xlapp=new Excel.Application(); 
xlapp.visible=true; 
//get data from dataset and process it and then write it to excel 

这WCF服务托管代码在网页中点击按钮

然而,当我运行IIS此服务和asp.net我的aSP.net网站7一大堆错误的的产生

几个错误是赋予权限后如下

Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005."

然后

Application. Microsoft Office Excel cannot open or save any more documents because
there is not enough available memory or disk space. • To make more memory available,
close workbooks or programs you no longer need. • To free disk space, delete files
you no longer need from the disk you are saving to

,因为所有这些错误,我不能够运行Excel上的IIS 7

我已经尝试了所有的方法权限从权限到身份验证,但它会生成错误 我在本地机器上运行XP并在IIS机器上运行Win 7(这是WIN 7的问题吗?)

this链接说服务器端办公自动化根本不支持

没有任何简单的方法来启动IIS 7中的Excel?或者可能是我应该调用Excel在我的ASP.net网站比WCF服务...

感谢所有

回答

3

自动化Excel应与OpenXML库如果可能的话做,因为它不需要实例Excel正在运行,这对于服务器端处理来说是最值得怀疑的。

1

Bas Brekelmans是对的。你应该选择OpenXML。我花了2-3天的时间寻找解决方案。有很多解决办法。在System32/SysWOW64中创建一个新路径。

http://social.msdn.microsoft.com/Forums/en-US/b81a3c4e-62db-488b-af06-44421818ef91/excel-2007-automation-on-top-of-a-windows-server-2008-x64

另一种解决方案是通过DCOMCNFG.EXE - >组件服务 - > Computers->我的电脑> DCOM Config->微软字处理>右键单击 - >属性 - >安全&身份。

你会发现很多关于它的问题,但可能会发现1-2个工作回复。

我有一台服务器与Office的自动配置工作正常,在其他服务器上,它不会告诉你为什么。解决了数周的问题。

此外,服务器端自动化功能是Microsoft服务器不支持的功能(不应该是)。

另外,看看你编译你的项目的版本,如果它是x64或x86。

0

Bas Brekelmansmike27015是正确的。

你不应该去asp.net项目中的COM组件。 更好使用OpenXml库或第三部分库如NPOI NPOI是免费的,并且支持xls和xlsx(open xml)类型。