前言:我可以在同一步设置/获取单元格范围值 2 成员传递/获取 2D 数组:
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 无论如何都会做得更快)。
问题仍然是相关的,但不是那么多。我发现通过在 C# 代码中迭代整个范围来获取/设置颜色足够快,但在设置颜色的情况下,当用户访问工作表以"看到"这些彩色单元格时,它几乎只会导致烦人的冻结。
worksheet.Cells[row, col].Interior.Color = (object)colors[row-1, col-1];