如何修复'Microsoft Excel无法打开或保存更多文档'

eng*_*ngg 21 iis-7 office-interop excel-interop asp.net-4.0 windows-7-x64

我使用IIS 7.5在Windows 7 64位上运行C#ASP.NET 4.5 Web应用程序.它使用的应用程序池名为"ASP.NET v4.0",其标识为ApplicationPoolIdentity.该应用程序使用MS Office Interop(Microsoft Excel 14.0对象库).

在行wBook = wBooks.Add(Missing.Value);,它会引发以下错误:

由于没有足够的可用内存或磁盘空间,Microsoft Excel无法打开或保存更多文档.

u2022要提供更多可用内存,请关闭不再需要的工作簿或程序.

u2022要释放磁盘空间,请从您要保存的磁盘中删除不再需要的文件:Microsoft.Office.Interop.Excel.Workbooks.Add(Object Template)

1)我在DCOM配置中的MS Excel应用程序上给了帐户IIS apppool\ASP.NET v4.0完全控制.

2)我在'C:\ Windows\SysWOW64\config\systemprofile'上给了IIS apppool\ASP.NET v4.0完全控制,并在其中创建了一个Desktop文件夹.

3)我需要继续使用Interop,虽然不建议这样做.

4)该应用程序在Windows Server 2003/Windows XP 32位上正常工作.

5)计算机上安装了MS Office 2010(64位,试用版).

6)我不想改变应用程序.从ApplicationPoolIdentity到网络服务等的池标识.ApplicationPoolIdentity是IIS 7中新的标识类型,建议使用它.

如果我在DCOM配置中选择"交互式用户"(我已经以管理员身份登录),它可以正常工作,但它会导致其他问题.我需要使用"启动用户",这是ASP.NET v4.0.所以看起来这是一个许可问题.

请帮忙.谢谢.

Ton*_*ich 36

右键单击带有文件资源管理器的文件,选择Properties,然后General选项卡,然后单击Unblock按钮.此错误消息非常具有误导性.

  • @PavelK我应该右键点击什么文件?拜托,你能更具体一点吗? (5认同)

小智 15

在注册表编辑器上转到此键(运行| Regedit) HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

改键缓存为类似于C:\ WINDOWS\TEMP

我的类似问题就像这样解决了.

问候,

里普利


Nit*_*aul 5

我有同样的问题,我的服务器机器中没有关于内存的问题,最后我能够通过以下步骤修复它

  1. 在您的应用程序托管服务器中,转到其"组件服务"
  2. 在此输入图像描述

3.在右侧找到"Microsoft Excel Application".

4.右键单击打开其属性

5.在Identity选项卡下,选择交互式用户选项,然后单击Ok按钮.

再次检查.希望能帮助到你

注意:但现在您可能会遇到另一个COM错误"检索组件的COM类工厂...".在这种情况下,只需将身份设置为此用户,然后输入具有足够权限的用户的用户名和密码.在我的情况下,我进入了高级用户组的用户.


Boo*_*net 5

像这样测试.有时候,许可问题.

cmd => dcomcnfg

点击

组件服务>计算>我的电脑> Dcom配置>并选择微软Excel应用程序

右键单击Microsoft Excel Application

属性>授予Asp.net权限

选择身份表>选择交互式用户>选择确定