4

我使用 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、运行 xp 且只有 Office 2003 的 VM(VMware Workstation v6.5)上进行了尝试安装在上面,它比新笔记本电脑快得多。

因此,总而言之,Excel 插件在低规格 VM 和较旧的笔记本电脑上运行速度很快,但在较新规格的笔记本电脑上运行速度较慢。

任何建议将不胜感激?

非常感谢

缺口

编辑:

好的,我检查了打印机驱动程序,它们是相同的......我检查了碎片级别,如果有的话,速度更快的机器比速度慢的机器碎片更少......

正在看活动设置。。

4

9 回答 9

6

您还可以添加

Application.EnableEvents = False  

在开始将数据转储到电子表格以停止任何其他 Excel 加载项或任何等待应用级别更改/更新事件的 VBA 代码之前,将数据转储到您的代码中。完成后不要忘记重新启用事件!

于 2009-04-07T15:49:21.400 回答
4

检查慢速机器是否没有安装任何 XLA 或 COM 插件(即 Google Office 插件)或 Personal.XLS 等中的任何其他潜在事件捕获代码

大概您已经在执行所有标准加速操作,例如: - 在写入 XL 之前关闭自动计算和屏幕更新 - 在单个大块中写入和格式化单元格,而不是逐个单元格 - ...

于 2009-04-07T15:37:17.543 回答
1

将 office 更新到最新版本(请参阅 Microsoft 网站/Microsoft Update)。

检查已安装 VSTO/PIA 的版本...

检查已安装的 office/excel 插件。

使用分析器查看哪个调用很慢。

于 2009-04-09T15:22:19.080 回答
1

我注意到较快的计算机和较慢的计算机之间的一件事是 1GB 的 RAM。您是否在应用程序运行时检查了机器上的内存使用情况?我知道 1GB 的 RAM 在计算机执行某些操作的速度方面取得了一些重大进展(至少在我看来)。

于 2009-04-11T02:26:22.363 回答
0

我遇到过更新的更高规格的笔记本电脑,它们的硬盘性能很糟糕。你也可能有碎片。

于 2009-04-01T08:03:19.533 回答
0

检查您在两台机器上配置的打印机驱动程序。事实上,要排除这种情况,请切换到“基于文件”的驱动程序之一(例如 Microsoft XPS)。我遇到了一些问题,Word 需要很长时间才能完成基于打印机驱动程序的工作,并且 Word 需要检查打印机在某些情况下的功能。

于 2009-04-09T11:43:55.107 回答
0

如果机器运行的是 Vista,您可以进入系统信息(到达那里的最快方法是 Windows 键 + 暂停;不知道如何通过控制面板慢速到达那里)。它将显示一组五个性能数字:内存性能、硬盘驱动器性能、图形性能等。比较两台机器上的这些数字;可能是“较新”机器的 RAM 较慢或硬盘驱动器较慢。

于 2009-04-13T21:29:52.423 回答
0

检查每台机器上 %temp% 中有多少个文件。

于 2009-04-13T22:02:45.013 回答
0

一些机器运行 32 位操作系统而其他机器运行 64 位操作系统吗?混合 32 位和 64 位代码会增加开销吗?

于 2009-04-14T00:34:18.003 回答