2014-12-07 81 views
1

我正在開發一個創建excel的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

您可以通過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); 
+0

太棒了,有沒有辦法做到這一點沒有字母?因爲我的程序中有很大的範圍,而且它們不是恆定的,並且取決於我收到的數據 – Yona 2014-12-07 15:32:28

+0

我已經添加了我能想到的唯一方法。如果您要提供關於問題背景的更多信息,那麼您可能會更有用,即您想要實現什麼目標?可能有更好的方法去實現它。 – 2014-12-07 15:48:18