낭만 프로그래머
Java POI Excel을 이용하여 셀 안의 특정 문자열만 색깔 바꾸기 본문
프로젝트 요구사항 중에서 엑셀의 셀 안의 내용중에서 특정 문자열만 하이라이트 하고 싶은 것이 있었다.
예를 들면 "문자열 중에 하이라이트 합니다." 처럼.
구글링을 해보니 작업이 가능하였다.
// 빈 Workbook 생성
XSSFWorkbook workbook = new XSSFWorkbook();
// 빈 Sheet를 생성
XSSFSheet sheet = workbook.createSheet("DATA");
// 색상 지정
XSSFFont fontRed = (XSSFFont) sheet.getWorkbook().createFont();
fontRed.setColor(Font.COLOR_RED);
// XSSFFont fontBlue = (XSSFFont) sheet.getWorkbook().createFont();
// fontRed.setColor(IndexedColors.GREEN.getIndex());
XSSFRow row = sheet.createRow(1);
XSSFCell cell = row.createCell(1);
XSSFCellStyle defaultStyle = cell.getCellStyle();
String data = "문자열 중에 하이라이트 합니다.";
XSSFRichTextString dataRich = new XSSFRichTextString(data);
String keyword = "하이라이트";
int index = data.indexOf(keyword);
dataRich.applyFont(index, index + keyword.length(), fontRed);
cell.setCellValue(dataRich);
cell.setCellStyle(defaultStyle);
try {
FileOutputStream out = new FileOutputStream(new File("c:\\temp", "newExcel.xlsx"));
workbook.write(out);
out.close();
}
catch (IOException e) {
e.printStackTrace();
}
'Java > Common' 카테고리의 다른 글
Java POI 를 이용하여 Excel 파일 생성 및 쓰기 (0) | 2021.12.27 |
---|---|
Java에서 Digester 를 사용하여 XML 파싱을 간단하게 사용하기 (0) | 2020.09.21 |
Ajax 와 Servlet 을 이용한 파일 업로드 (0) | 2020.04.29 |
Java에서 slf4j + Log4j 2 사용하기 (0) | 2020.04.06 |
Java 에서 Singleton(싱글톤) 사용하기 (0) | 2020.04.06 |