Excel Interop - 快速应用单元格颜色

Excel Interop - Quickly Applying Cell Color

我有一大堆 ole 颜色值,我需要将它们应用于 excel 工作表中的单元格。

它们可以用一个简单的for循环来应用。伪代码:

 for (int k = 0; k < oleColorArray.Count; k++){
   worksheet.Cells[1, k].Interior.Color = oleColorArray[k];
 }

但是这种方法很慢,即使在禁用 ScreenUpdating 之后也是如此。我有大约 1500 个条目,最多可能需要一分钟。

由于数组中的值都不同,我无法为整个范围着色。

我发现可以使用

直接从二维数组应用单元格值
range.set_Value(); or range.Value()

Microsoft.Office.Interop.Excel really slow

是否有任何类似的方法来应用一组 ole 颜色,如果没有,是否有我缺少的更快的方法?

您是否尝试过使用条件格式选项功能而不是使用 VBA 编码?您无法使用条件格式并被迫使用VBA的任何原因?

可以设置条件格式,使其逻辑基于一个单元格或一个范围构建,并且可以应用于您正在寻找颜色代码的范围。