我使用 VSTO 和 VS 2008 在 C# 中开发了一个 Excel 2003 插件。该插件在我的机器(HP NC6320 笔记本电脑,3gb RAM T5600 1.8ghz Core2 cpu)上运行良好,但是当它在其他用户上测试时机器(HP nc6710b 笔记本电脑 2gb RAM,T7200 2ghz Core2 cpu),速度要慢得多。我也在另一台和我同型号的笔记本电脑上试过,速度也很快
我经历过一些显而易见的事情,比如应用程序运行、防病毒等。机器都打好了补丁,而且是最新的。
基本上,插件的作用是: 1.从SQL Server 2005数据库读取数据 2.对其进行一些操作 3. 将其显示在工作表上,并适本地格式化
最慢的是工作表上的显示。
我很困惑为什么它在较新的机器上会变慢。为了真正让自己感到困惑,我在具有 256mb RAM 和 1 个 cpu 的 VM (VMware Workstation v6.5) 上尝试了它,运行 xp 和它只安装了 Office 2003,而且比新笔记本电脑快得多。
总而言之,Excel 插件在低规范 VM 和旧笔记本电脑上执行速度很快,但在新规范笔记本电脑上执行速度较慢。
如有任何建议,我们将不胜感激?
非常感谢
尼克
编辑:
好的, 我检查了打印机驱动程序,它们是一样的... 我检查了碎片级别,如果有的话,速度更快的机器比速度慢的机器碎片更少。
正在查看事件设置..
最佳答案
还可以添加
Application.EnableEvents = False
在开始将数据转储到电子表格之前添加到您的代码,以停止任何其他 Excel 加载项或任何等待应用程序级别更改/更新事件的 VBA 代码。 完成后不要忘记重新启用事件!!
关于c# - 为什么 Excel VSTO 插件在更高规范的机器上运行得更慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/704491/