前言: 我可以在传递/获取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>
答案 0 :(得分:0)
问题仍然很重要,但没有那么多。我发现通过迭代C#代码中的整个范围来获取/设置颜色足够快,但是在设置颜色的情况下,当用户访问工作表以“查看”这些有色单元格时,它几乎不会引起恼人的冻结。 / p>
worksheet.Cells[row, col].Interior.Color = (object)colors[row-1, col-1];