2011-08-08 24 views
5

Veritabanından görsel basic.net üzerinden excel'e veri yazıyorum. Bazı hücrelerin arka planını değiştirmem gerekiyor ve aynı zamanda metinleri kalınlaştırmak gerekiyor. Şöyle bir şeye ihtiyacım var:VB.NET üzerinden excel sayfasının hücre renginin değiştirilmesi

xlWorkSheet.Cells(rownumber, 1).BackgroundColor = Color.Yellow 
xlWorkSheet.Cells(rownumber, 1).Font.isBold = True 

Elbette yukarıdakilerin hiçbiri işe yaramıyor. Bunu nasıl başarabilirim? Teşekkürler ..

cevap

9

Bir Excel.Style nesnesi oluşturmanız ve bunu bir aralıkta uygulamanız gerekiyor. Bunun gibi:

+0

(1,1), (5,6) vb. Gibi indekslere göre A1, B1 .. gibi olmayan aralıklara göre nasıl yapabiliriz? – dnur

+0

@dnur: xlWorkSheet.Cells (1,1) tür aralıklı, yani * Controls.AddNamedRange (xlWorkSheet.Cells (rwnumber, 1), "rangeStyles") * çalışması gerekir. –

+0

"Globals.ThisWorkbook" içeren satırda bir hata verir. Çalışma kitabımın adı "xlWorkBook" ve "Globals.xlWorkBook" ile değiştirdim ama hiçbiri işe yaramadı. Ayrıca "Microsoft.Office.Tools.Excel.NamedRange" içeren satırda ikinci bir hata verir ve "Microsoft.Office.Interop.Excel.ShapeRange" ile değiştirdim. bu doğru mu? – dnur

4

Bu benim için mükemmel çalıştı.

xlsWorkSheet.Cells (satır, sütun) .interior.color = Color.Green

+0

Çok basit! –

1

tarzı için size yardımcı olabilir birkaç beyanı Thats renk paleti için bir Excel
: http://dmcritchie.mvps.org/excel/colors.htm

   Dim xlsCell As Excel.Range 
        xlsCell = xlWorkSheet.Range("A1") 
        xlsCell.Range("A5").Value = "TEXT" 

        With xlsCell.Range("A12:J12") 
         .Merge() 
         .Borders(XlBordersIndex.xlEdgeBottom).Weight = 2 
         .Borders(XlBordersIndex.xlEdgeTop).Weight = 2 
         .Borders(XlBordersIndex.xlEdgeLeft).Weight = 2 
         .Borders(XlBordersIndex.xlEdgeRight).Weight = 2 
         .Borders(XlBordersIndex.xlInsideHorizontal).Weight = 2 
         .Borders(XlBordersIndex.xlInsideVertical).Weight = 2 
         .Interior.ColorIndex = 15       
         .WrapText = True 
         .Font.FontStyle = "Arial" 
         .VerticalAlignment = Excel.XlHAlign.xlHAlignCenter 
         .HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft 
        End With 
0
void SetCaptionStyle(ExcelStyle style) 
    { 
     style.Fill.PatternType = ExcelFillStyle.Solid; 
     style.Fill.BackgroundColor.SetColor(Color.FromArgb(184, 204, 228)); 

    } 
+1

VB.NET'ten bu C# işlevinin nasıl alınacağını ve nasıl çağrılacağını açıklayabilir misiniz? – Tino

+0

Bu dil için yeni kulüpler. Ancak bazı yardım URL’leri buldum. Umarım size yardımcı olur. 1) http://vb.net-informations.com/excel-2007/vb.net_excel_page_format.htm 2) https://www.gemboxsoftware.com/spreadsheet/examples/c-sharp-vb-net-excel tarzı-biçimlendirme/202 – Jagdeep

İlgili konular