Excel 中的内存限制

Excel 中的内存限制

Excel 会话中的内存限制是多少(Windows 7 下运行的 32 位 Excel 2010)?

我读过一些相互矛盾的报告:有的报告说有 2gb 可用于 Excel,而另一些人则说有 2gb 可供所有 Microsoft 应用程序分配。

我问的是,当我打开 excel 2010(32 位)并其中包含一些我需要使用的(大型)插件时,当我尝试更新(相当小的)数据透视表时,出现系统资源超出错误框。

无论哪种情况,是否有任何解决方法(除了转移到 64 位,这超出了我的控制范围)来使用可用的内存?

我的机器上有 12bg,我可以看到有 7gb 未使用 - 至少理论上如此。

答案1

正如所述微软页面:

32 位版本的 Windows 应用程序的虚拟地址空间限制为 2 GB。对于 Excel,此空间由 Excel 应用程序本身以及在同一进程中运行的任何加载项共享。工作表本身的大小也会影响虚拟地址空间的使用。由于 Excel 将工作表加载到可寻址内存中,因此某些文件大小小于 2 GB 的工作表可能仍需要 Excel 使用超过 2 GB 的可寻址内存。

Excel 及其插件共享 2GB 内存。

解决内存不足错误的唯一方法是停止使用此类插件或安装 64 位版本的 Excel。

答案2

有些事情值得尝试……

  • 您可以在不使用插件的情况下重试吗?有时插件会消耗大量内存,并且它们与 Excel 本身共享内存限制。请先关闭所有插件,以检查它是否确实成功加载了文档,然后逐步打开一些插件。转到文件 - 选项 - 加载项 - 单击“转到”以控制“Excel 加载项”、“COM 加载项”等加载项。您可以禁用它们而不是删除它们。一些对您来说完全不必要的东西可能导致了问题。
  • 如果你同时打开多个文档,打开多个 Excel 实例而不是只保留一个进程来访问所有内容。(这是 Excel 2013 的默认设置。)
  • (非常实验性,尚未验证是否可以安全地应用于 Excel)在 x64 Windows 上,可以32位进程访问高达3GBEDITBIN 实用程序(在 Visual Studio 上可用),通过在 Visual Studio 命令提示符中输入以下命令。(请在执行此操作之前备份原始 Excel.exe)但是,如果问题不是基于进程内存,则这不会有任何区别,因为这仅适用于进程内存。查看任务管理器,如果出现错误时进程内存不超过 1GB,请不要尝试此操作。

编辑bin“C:\EXCEL.EXE”/largeaddressaware

如果这些都没有帮助,那么屏幕截图可能会帮助这里的人们分析问题。

相关内容