2013-03-07 160 views
1

我想在單元格上創建邊框,然後是左右邊框。C#Excel左右邊框

我想這個代碼,但它不工作:(

objSheet.get_Range("F19").Borders[Excel.XlBordersIndex.xlEdgeLeft].LineStyle = true; 
objSheet.get_Range("F19").Borders.Color = Color.Black; 

我讓你在這裏看到的第二個。(邊框四周) http://i.imgur.com/EUgmJNB.png

我怎樣才能得到這個工作嗎?或者?是在邊框到Excel不可能的細胞從C#的左側和右側

回答

2

試試這個:

var range = objSheet.get_Range("F19"); 
System.Drawing.Color color = System.Drawing.Color.Black; 
range.Borders[XlBordersIndex.xlEdgeRight].Color = color; 
range.Borders[XlBordersIndex.xlEdgeLeft].Color = color; 

編輯:如果你擔心清理你的Excel對象,你要避免使用兩個點(see discussion here),你可以保持一個參考,你使用像這樣的邊界:

var right = range.Borders[XlBordersIndex.xlEdgeRight]; 
var left = range.Borders[XlBordersIndex.xlEdgeLeft]; 
right.Color = color; 
left.Color = color; 

我認爲我的原始版本間接使用兩個點。

+1

謝謝你的工作! – Marco 2013-03-07 16:44:13

+0

幫了我。好辦法 – 2014-03-02 15:06:09

1

您可以設置特定邊框的線條樣式和顏色是這樣的:

Excel.Range range = objSheet.get_Range("F19"); 
Excel.Border border = range.Borders[Excel.XlBordersIndex.xlEdgeRight]; 
border.LineStyle = Excel.XlLineStyle.xlContinuous; 
border.Color = Color.Black; 

border = range.Borders[Excel.XlBordersIndex.xlEdgeLeft]; 
border.LineStyle = Excel.XlLineStyle.xlContinuous; 
border.Color = Color.Black; 

然後清理你的引用:

border = null; 
range = null; 

專門創建對Excel.Border對象的引用,確保您可以處置它,不會讓它掛在身邊。見Eliminating use of '2 dots' when using Excel...