我有两台运行 Excel 2003 和 SAP Business Explorer 7.2 的 PC。我试图刷新电子表格中的查询,该电子表格有 30 个选项卡,每个选项卡上至少有一个查询。
当我在自己的电脑上刷新所有查询时,它们都成功更新。刷新整个电子表格只需不到十分钟。
当我在该客户的 PC 上尝试时,Excel 会按照我预期刷新第一个选项卡,但随后就会挂起。我让它运行了一个多小时,但没有任何进展。挂起期间,Excel.exe 进程的 CPU 使用率达到并恒定在 50%(这是一台双核 PC,我猜如果是单核 PC,可能会达到更高的水平,也许 100%),但奇怪的是,尽管它的 CPU 使用率一直保持在 50%,但挂起后,进程监视器中却没有任何活动。我也运行了 Microsoft 的网络监视器,我可以看到 Excel 和 SAP 服务器之间来回的网络流量,直到 Excel 挂起,但之后就什么都看不到了。我也尝试在客户的帐户和我自己的 AD 帐户(该帐户之前从未在该 PC 上使用过,因此是一个全新的配置文件)下运行查询,但没有什么区别。我还使用 Process Explorer 检查了 Excel.exe,查看是否存在任何第三方 DLL,但没有发现任何异常,也没有发现我自己的电脑上不存在的东西。
我遗漏了什么?还有其他可用的工具可以向我显示 Excel 在未响应但使用 50% CPU 时正在做什么吗?
答案1
这是一个猜测,但是 SAP(或 Business Explorer 本身)允许的同时连接数有区别吗?这可能是许可限制。
答案2
最后解决了这个问题。电子表格由多个选项卡组成,其他选项卡中有数千个 VLOOKUP,这些 VLOOKUP 依赖于第一个选项卡中的数据。因此,一旦 Business Explorer 刷新第一个选项卡中的数据,Excel 就会尝试刷新其他选项卡上的 VLOOKUP。
因此,Excel 会占用最大 CPU 核心,并且似乎几个小时都处于静止状态而无任何操作。