POI excel 파일 생성, 셀 색상 사용자 정의
HSSFWorkbook wb = new HSSFWorkbook();
...
HSSFCellStyle style = wb.createCellStyle();
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
style.setFillForegroundColor(HSSFColor.WHITE.index);
cell.setCellStyle(style);//cell은 HSSFCell 객체입니다.
setFillPattern은 셀 채우기 스타일 설정, SOLID_FOREGROUND 순수한 색은 전경 색으로 채우고, 이어서 전경 색 (setFillForegroundColor) 을 설정하면 칸에 착색할 수 있습니다.setFillForegroundColor() 방법의 매개 변수는 short 형식입니다. POI는 색인을 사용하여 색을 대표합니다. 기본값은 다음과 같습니다.
8: BLACK
60: BROWN
59: OLIVE_GREEN
58: DARK_GREEN
...
색상 색인은 0x08 ~ 0x40 (8 ~ 64) 의 숫자여야 합니다.
둘째, 다음에 사용자 정의 색을 사용합니다. POI에서 제공하는 기본 색을 사용하지 않으면 사용자 정의 색 인덱스가 필요합니다. HSSFPalette palette = wb.getCustomPalette();//wb HSSFWorkbook 객체 팔레트.setColorAtIndex((short) 9, (byte) (color.getRed()), (byte) (color.getGreen()), (byte) (color.getBlue()));/* 색상을 설정한 인덱스는 8 ~ 64만 가능하며 이 외의 인덱스는 유효하지 않으며 오류가 발생하지 않습니다.다음 세 가지 방법 모두 설정에 성공할 수 있습니다. palette.setColorAtIndex((short)9, (byte) (0xff & 251), (byte) (0xff & 161), (byte) (0xff & 161)); palette.setColorAtIndex((short)10, (byte) (0x66), (byte) (0xcd), (byte) (0xaa)); palette.setColorAtIndex((short)11, (byte) (255), (byte) (165), (byte) (0)); */그리고 색을 사용합니다. 예를 들어 새로운 색 인덱스로 원래의 색을 바꿀 수 있습니다: 스타일.setFillForegroundColor((short) 9);
3. setFillPattern(), 셀 채우기 스타일 설정(예: style).setFillPattern(HSSFCellStyle.BIG_SPOTS); style.setFillForegroundColor(HSSFColor.RED.index); style.setFillBackgroundColor(HSSFColor.LIGHT_BLUE.index); 이렇게 하면 현재 칸은 빨간색과 파란색으로 교체된 칸으로 채워진다
위의 세 줄 코드는 setFillPattern 설정 충전 스타일의 한 줄을 제거하고 전경치와 배경색을 동시에 설정합니다. 생성된 파일은 충전 색이 없습니다. 이때 전경치로 채우지도 않고 배경색으로 채우지도 않습니다.이러한 상황은 setFillPattern(HSSFCellStyle.NO_FILL)과 같습니다.때와 같다.api의 setFillBackgroundColor 방법에는 다음과 같은 예가 있습니다.
public void setFillBackgroundColor(short bg)
set the background fill color.
For example:
cs.setFillPattern(HSSFCellStyle.FINE_DOTS );
cs.setFillBackgroundColor(new HSSFColor.RED().getIndex());
// , ( ),
optionally a Foreground and background fill can be applied: Note: Ensure Foreground color is set prior to background
cs.setFillPattern(HSSFCellStyle.FINE_DOTS );
cs.setFillForegroundColor(new HSSFColor.BLUE().getIndex());
cs.setFillBackgroundColor(new HSSFColor.RED().getIndex());
or, for the special case of SOLID_FILL: cs.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND );
cs.setFillForegroundColor(new HSSFColor.RED().getIndex());
It is necessary to set the fill style in order for the color to be shown in the cell.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
POI Excel 사용자 정의 날짜 형식 읽기 (인스턴스 코드)POI로 Excel 데이터 읽기: (버전 번호: POI3.7) 1. Excel 읽기 2, Excel 데이터 처리: Excel 저장 날짜, 시간은 모두 수치 형식으로 저장되며, 읽을 때 POI가 먼저 수치 유형인지 아...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.