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

问题描述 投票:18回答:6

我使用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。所以看起来这是一个许可问题。

请帮忙。谢谢。

iis-7 asp.net-4.0 office-interop windows-7-x64 excel-interop
6个回答
36
投票

用文件浏览器右键单击文件,选择Properties,然后选择General选项卡,然后单击Unblock按钮。此错误消息非常具有误导性。


14
投票

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

将密钥更改为C:\ Windows \ Temp

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

问候,

里普利


5
投票

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

  1. 在您的应用程序托管服务器中,转到其“组件服务”

3.在右侧找到“Microsoft Excel Application”。

4.右键单击打开其属性

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

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

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


5
投票

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

cmd => dcomcnfg

点击

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

右键单击Microsoft Excel Application

属性>授予Asp.net权限

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


0
投票

我也遇到了同样的情况,并在google搜索了几次后发现了两个解决方案。希望这可以帮助。

方式01:

在尝试在Excel中打开文件之前,请在Windows的文件资源管理器中找到它。右键单击该文件,然后选择“属性”。在“常规”选项卡的底部,单击“取消阻止”按钮。一旦你取消阻止文件,Windows应该记住,Excel不应再问你。此选项适用于某些文件类型,但不适用于其他文件类型。如果您没有“取消阻止”按钮,请使用方式2。

方式02:

如果您通常将下载的Excel文件存储在一个文件夹中,则此选项更好。在Excel中,单击文件»选项»信任中心»信任中心设置»受信任位置。单击“添加新位置”。浏览到存储Excel文件的文件夹,选择此位置的子文件夹也是受信任的,然后单击“确定”。


0
投票

如果以上都不起作用,请尝试以下方法:

  • Component services >Computes >My Computer>Dcom config>Microsoft Excel Application>Properties中,转到安全选项卡,单击所有三个部分上的自定义,然后添加要运行该应用程序的用户,并为该用户授予完全权限。
  • 转到C:\Windows\Temp确保它存在并且它不会提示您输入。
© www.soinside.com 2019 - 2024. All rights reserved.