programing

특정 셀 아파치 poi 3.9의 글꼴 색 변경 방법

megabox 2023. 4. 29. 09:09
반응형

특정 셀 아파치 poi 3.9의 글꼴 색 변경 방법

Apache POI에서 다음 코드로 전경색을 변경할 수 있습니다.이제 단일 셀의 글꼴 색을 변경하고 싶습니다.

CellStyle style = wb.createCellStyle();
                        style.setFillForegroundColor(IndexedColors.GREEN.getIndex());
                        style.setFillPattern(CellStyle.SOLID_FOREGROUND);
                        cell = rowxl.createCell((short) 7);
                        cell.setCellValue(" <<<<ONTRACK>>>>");
                        cell.setCellStyle(style);


                        rowxl.createCell(0).setCellValue(TEAM);

저는 이것을 시도해 보았지만 처음 두 열의 색은 바뀌지 않습니다.

코드:

public class fclr {
     public static void main(String[] args)  throws Exception {

         InputStream inp = new FileInputStream("c:/workbook1.xls");
            Workbook wb = WorkbookFactory.create(inp);
            CreationHelper createHelper = wb.getCreationHelper();
            Sheet sheet = wb.getSheetAt(0);
            Row rowxl = sheet.createRow((short)0);


            Cell cell = rowxl.createCell(0);

            //apply some colors from the standard palette,
            // as in the previous examples.
            //we'll use red text on a lime background

            CellStyle style = wb.createCellStyle();


          rowxl.createCell(1).setCellValue("ABC");
        rowxl.createCell(2).setCellValue("aaa");
            Font font = wb.createFont();
            font.setColor(HSSFColor.BLACK.index);
            style.setFont(font);


            cell.setCellStyle(style);

            FileOutputStream fileOut = new FileOutputStream("c:/workbook1.xls");
            wb.write(fileOut);
            fileOut.close();



     }

} 

당신은 현재 당신의 세포 중 일부를 두 번 만들고 있습니다. 그래서 모든 것이 잘못되고 있는 것입니다.

먼저 셀 스타일 작성을 코드 맨 위로 이동하는 것이 좋습니다.셀 스타일은 워크북으로 범위가 지정되므로 셀당 하나씩 만들지 마십시오!

        CellStyle style = wb.createCellStyle();
        Font font = wb.createFont();
        font.setColor(HSSFColor.HSSFColorPredefined.BLACK.getIndex());
        style.setFont(font);
        // Set more colours on the style as needed
        // Set formatting rules on the style as needed

이제 사용자의 선호도에 따라 다음과 같이 하십시오.

        Cell cell;

        cell = rowxl.createCell(0);
        cell.setCellValue("ABC");
        cell.setCellStyle(style);

        cell = rowxl.createCell(1);
        cell.setCellValue("aaa");
        cell.setCellStyle(style);

이런 식으로.

    rowxl.createCell(1).setCellValue("ABC");
    rowxl.createCell(2).setCellValue("aaa");
    rowx1.getCell(1).setCellStyle(style);
    rowx1.getCell(2).setCellStyle(style);

지금 당신이 가지고 있는 이상한 하이브리드를 하지 마세요, 왜냐하면 당신은 결국 두 번의 세포를 만들고 스타일링을 놓치기 때문입니다!

언급URL : https://stackoverflow.com/questions/15730146/how-to-change-font-color-of-particular-cell-apache-poi-3-9

반응형