阻止 Excel 在 C# 中更新屏幕

本文关键字:更新 屏幕 Excel 阻止 | 更新日期: 2023-09-27 18:36:53

我正在为 Excel 2010 编写一个 VIsual C# 加载项。此外接程序从我们的服务中检索一些数据,并将结果写入某个电子表格的单元格中。但是,我不希望 Excel 显示用值填充单元格,因为这需要很多时间。所以我尝试了以下代码段:

ExcelApp = (Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");
ExcelApp.ScreenUpdating = false;
GetFolderTreeRecursive(FolderTree);
ExcelApp.ScreenUpdating = true;

GetFolderTreeRecursive基本上处理 Web 服务调用并将响应值写入 Excel 单元格,如下所示:

Globals.TestCases.Cells[FolderTreeRowIndex, FolderTreeColumnIndex].Value2 = CurrentFolder.recordid;

不幸的是,Excel仍然显示正在写入的所有单元格。我做错了什么?

阻止 Excel 在 C# 中更新屏幕

我只是引用了错误的Excel应用程序对象。使用以下语句返回当前的 Excel 应用程序,而不是我意外实现的新应用程序。

ExcelApp = Globals.ThisWorkbook.ThisApplication;