从范围中排除一行

时间:2014-12-07 14:20:38

标签: c# wpf excel range

我正在开展一个擅长的WPF项目。在Excel工作表中,我选择了一个范围,例如:

Range c1 = newSheet.Cells[3, 2];
Range c2 = newSheet.Cells[8, 10];
Range rng = (Range)newSheet.get_Range(c1, c2);

我需要删除这个范围内的第5行。 如何根据excel表中的索引从范围中排除一行?

1 个答案:

答案 0 :(得分:1)

您可以通过Range()方法获取非连续范围。

在这种情况下,3, 2B38, 10J8。要获得排除第5行的非连续范围:

Range rng = newSheet.Range("B3:J4,B6:J8")

我可以看到使用单元格行/列引用执行此操作的唯一方法是通过这些选择每个连续范围并连接生成的地址,例如:

var top = sheet.Range(sheet.Cells[3, 2], sheet.Cells[4, 10]);
var bottom = sheet.Range(sheet.Cells[6, 2], sheet.Cells[8, 10]);
var all = sheet.Range(top.Address + "," + bottom.Address);