Excel 范围可以是锯齿状的(而不是总是连续的)吗?

Can Excel Ranges be jagged (rather than always contiguous)?

可以在 C# Excel Interop 中定义范围,如下所示:

var homeHomeOnTheRange = _xlSheet.Range[_xlSheet.Cells[3, 7], _xlSheet.Cells[42, 11]];

此范围将包含页面上从第 3 行向下到第 42 行,从第 7 列(或 "G")到第 11 列(或 "K")的单元格子集。

但是,如果我想要一个 "jagged" 范围怎么办 - 是否可以将一系列范围连接成一个范围?

您可以使用这种格式sheet.Range("A1:A2,B2:B3,C3:C4")

注意 sheet 应该是 dynamic 类型,因此不要为此目的使用 Worksheet class。

例子

设置指定范围背景色为红色:

var range = sheet.Range("A1:A2,B2:B3,C3:C4");
range.Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red);