Excel设置/获取单元格颜色,但在同一步骤中针对多个单元格(不同颜色的单元格不同)

时间:2019-03-28 16:04:55

标签: c# excel vsto

前言: 我可以在传递/获取2d数组的同一步骤中设置/获取单元格范围value2成员:

range.Value2 = some2dArray;
var another2dArray = range.Value2 as Object[,];

问题: 但是Range.Interior.Color成员呢? 如何检索/分配2d数组的颜色作为/使用2d数组? 当我尝试获取多个单元格的二维数组值时,Range.Interior.Color向我返回null:

var thisAppearsToBeNull = someRange.Interior.Color as double[,];
var thisAlsoAppearsToBeNull = someRange.Interior.Color as Object[,];

如果我能正确地做到这一点而不用自己遍历整个范围,那将是很棒的(我不在乎Excel的某些底层实现是否会这样做;据我所知,无论如何,Excel都会更快地做到这一点)。< / p>

1 个答案:

答案 0 :(得分:0)

问题仍然很重要,但没有那么多。我发现通过迭代C#代码中的整个范围来获取/设置颜色足够快,但是在设置颜色的情况下,当用户访问工作表以“查看”这些有色单元格时,它几乎不会引起恼人的冻结。 / p>

worksheet.Cells[row, col].Interior.Color = (object)colors[row-1, col-1];