EPPLUS

2015-07-11 29 views
10

ile excel içinde çalışmayan kalın ve italik excel veri formatını güncellemek için aşağıdaki kodu kullanıyorum, burada başlığın kalın ve tüm verilerin italik biçimde olmasını istiyorum ancak kodu tüm özellikleri çalıştırdığımda Kalın ve İtalik hariç iyi çalışıyor gibi görünüyor. Kod ayrıca herhangi bir hata olmadan yürütmeyi tamamlar, ancak excel dosyasında hücrelerin hiçbiri kalın veya italik biçimde veriye sahip değildir.EPPLUS

public void FormatExcel() 
    { 
     string currentDate = DateTime.Now.ToString("yyyyMMdd"); 
     FileInfo File = new FileInfo("G:\\Selenium\\Test66.xlsx"); 
     using (ExcelPackage excel = new ExcelPackage(File)) 
     { 
      ExcelWorksheet worksheet = excel.Workbook.Worksheets[currentDate]; 
      int totalRows = worksheet.Dimension.End.Row; 
      int totalCols = worksheet.Dimension.End.Column; 
      var headerCells = worksheet.Cells[1, 1, 1, totalCols]; 
      var headerFont = headerCells.Style.Font; 
      headerFont.Bold = true; 
      headerFont.Italic = true; 
      headerFont.SetFromFont(new Font("Times New Roman", 12)); 
      headerFont.Color.SetColor(Color.DarkBlue); 
      var headerFill = headerCells.Style.Fill; 
      headerFill.PatternType = ExcelFillStyle.Solid; 
      headerFill.BackgroundColor.SetColor(Color.Gray); 
      var dataCells = worksheet.Cells[2, 1, totalRows, totalCols]; 
      var dataFont = dataCells.Style.Font; 
      dataFont.Italic = true; 
      dataFont.SetFromFont(new Font("Times New Roman", 10)); 
      dataFont.Color.SetColor(Color.DarkBlue); 
      var dataFill = dataCells.Style.Fill; 
      dataFill.PatternType = ExcelFillStyle.Solid; 
      dataFill.BackgroundColor.SetColor(Color.Silver); 
      var allCells = worksheet.Cells[1, 1, totalRows, totalCols]; 
      allCells.AutoFitColumns(); 
      allCells.Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; 
      var border = allCells.Style.Border; 
      border.Top.Style = border.Left.Style = border.Bottom.Style = border.Right.Style = ExcelBorderStyle.Thin; 
      excel.Save(); 
     } 
    } 

cevap

13

sorun kalın/italik set sonra yazı üzerine yazarak/ayarlarken olduğunu.

headerFont.SetFromFont(new Font("Times New Roman", 12)); //Do this first 
headerFont.Bold = true; 
headerFont.Italic = true; 

veya hatta bunu böyle biraz kısaltabilir: Sadece bu gibi ilk yazı tipini ayarlamak değerli cevap için

headerFont.SetFromFont(new Font("Times New Roman", 12, FontStyle.Italic | FontStyle.Bold)); 
+0

Teşekkür Ernie. – Ash1994