programing

굵고 이탤릭체가 EPLUS에서 작동하지 않음

topblog 2023. 10. 30. 20:27
반응형

굵고 이탤릭체가 EPLUS에서 작동하지 않음

저는 엑셀 데이터 포맷 업데이트를 위해 아래 코드를 사용하고 있습니다. 여기서 제목은 굵게, 전체 데이터는 이탤릭체로 하고 싶지만 코드를 실행하면 굵게, 이탤릭체를 제외한 모든 기능이 잘 작동하는 것 같습니다.또한 코드는 오류 없이 실행을 완료하지만 엑셀 파일에는 굵은 또는 기울임꼴 형태의 데이터가 있는 셀이 없습니다.

    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();
        }
    }

문제는 굵은 글씨체/이탤릭체를 설정한 후 글꼴을 설정/ 덮어쓰는 것입니다.글꼴을 먼저 설정하면 다음과 같습니다.

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

아니면 이런 식으로 좀 줄여도 됩니다.

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

헤더 폰트.SetFromFont ("Times New Roman", 16, true);

언급URL : https://stackoverflow.com/questions/31362639/bold-and-italics-not-working-in-excel-with-epplus

반응형