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的任何原因?
可以设置条件格式,使其逻辑基于一个单元格或一个范围构建,并且可以应用于您正在寻找颜色代码的范围。
我有一大堆 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的任何原因?
可以设置条件格式,使其逻辑基于一个单元格或一个范围构建,并且可以应用于您正在寻找颜色代码的范围。