2012-12-11 13 views
7

Po pierwsze zmieniłem kolorowe obramowanie mojego arkusza na biały, ponieważ chcę mieć biały arkusz. Potem zrobiłem kilka nagłówków i chcę zrobić wokół niego obramowanie. Problem polega na tym, że granice między wartościami w nagłówku, ale góra, dół nie są widoczne.Zmiana obramowania w programie Excel w lewo, w prawo, na dole i na górze

Mój kod:

xlWorkSheet5.Columns.Borders.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.White); // Color Sheet5 to white, BusLoad 
xlWorkSheet5.Columns.NumberFormat = "@"; 
Excel.Range rng = (Excel.Range)xlWorkSheet5.get_Range("A7","J7"); 
rng.RowHeight = 25.5; 
rng.BorderAround2(Excel.XlLineStyle.xlContinuous, Excel.XlBorderWeight.xlHairline, Excel.XlColorIndex.xlColorIndexAutomatic, Excel.XlColorIndex.xlColorIndexAutomatic); 
rng.Borders.LineStyle = Excel.XlLineStyle.xlContinuous; 
rng.Borders.Weight = 1d; 
rng.Font.Bold = true; 
rng.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter; 
rng.Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.LightGray); 
+0

zastosowanie 'BorderAround' zamiast w' BorderAround2'? –

+0

@K_B: Próbowałem, ale wynik jest taki sam –

+0

Z twoją pierwszą linią kodu nie zmieniasz koloru komórek na biały, ale ten z granic ... –

Odpowiedz

10

OK znalazłem rozwiązanie, aby to zrobić, tutaj to mój kod:

xlWorkSheet5.Cells[7,1].Borders[Excel.XlBordersIndex.xlEdgeLeft].Weight = 1d; 
xlWorkSheet5.Cells[7, 1].Borders[Excel.XlBordersIndex.xlEdgeRight].Weight = 1d; 
xlWorkSheet5.Cells[7,1].Borders[Excel.XlBordersIndex.xlEdgeTop].Weight = 1d; 
xlWorkSheet5.Cells[7,1].Borders[Excel.XlBordersIndex.xlEdgeBottom].Weight = 1d; 
+2

Można to również zrobić za pomocą pojedyncza linia kodu 'xlWorkSheet5.Cells [7,1] .Borders.Weight = 1d;' – Wayne

4

Jeśli chcesz użyć granic [indeks] własność następnie użyć coś wzdłuż linii:

rng.Borders[XlBordersIndex.xlEdgeLeft].LineStyle = XlLineStyle.xlContinuous; 
rng.Borders[XlBordersIndex.xlEdgeLeft].ColorIndex = <COLOR THAT YOU WANT> 

rng.Borders[XlBordersIndex.xlEdgeTop]... 
rng.Borders[XlBordersIndex.xlEdgeBottom]... 
rng.Borders[XlBordersIndex.xlEdgeRight]... 
1

nieruchomość Border.Weight

XlBorderWeight może być jedną z następujących stałych XlBorderWeight: xlHairline xlThin xlMedium xlThick.

Przykład utworzyć ciągłą linię na komórkach z Bx na MX, w którym x oznacza liczbę linii

using Excel = Microsoft.Office.Interop.Excel; 

Excel.Range line = (Excel.Range)excelWorksheet.Rows[1]; 
line.Insert(); 

excelWorksheet.Range[$"B{1}:M{1}"].Cells.Borders[Excel.XlBordersIndex.xlEdgeBottom].LineStyle = Excel.XlLineStyle.xlContinuous; 
excelWorksheet.Range[$"B{1}:M{1}"].Cells.Borders[Excel.XlBordersIndex.xlEdgeBottom].Weight = Excel.XlBorderWeight.xlThin; 
Powiązane problemy