[java] Apache POI를 사용하여 Excel 파일의 셀 서식 읽기
Apache POI는 자바에서 Microsoft Office 파일을 읽고 쓰는 라이브러리입니다. 이 라이브러리를 사용하면 Excel 파일의 내용뿐만 아니라 셀의 서식도 읽을 수 있습니다. 이번 포스트에서는 Apache POI를 사용하여 Excel 파일의 셀 서식을 읽는 방법을 알아보겠습니다.
Apache POI 종속성 추가하기
먼저 Maven 또는 Gradle 프로젝트에서 Apache POI를 사용하기 위해 아래의 종속성을 추가해야 합니다.
<!-- Maven -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.0.0</version>
</dependency>
<!-- Gradle -->
implementation 'org.apache.poi:poi:5.0.0'
셀 서식 읽기
Excel 파일의 셀 서식을 읽기 위해서는 CellStyle
클래스를 사용해야 합니다. 다음 예제 코드를 통해 셀의 배경색과 글꼴 스타일 정보를 읽는 방법을 알아보겠습니다.
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileInputStream;
import java.io.IOException;
public class ExcelReader {
public static void main(String[] args) {
try (FileInputStream file = new FileInputStream("path/to/excel-file.xlsx")) {
Workbook workbook = new XSSFWorkbook(file);
Sheet sheet = workbook.getSheetAt(0);
Row row = sheet.getRow(0);
Cell cell = row.getCell(0);
CellStyle cellStyle = cell.getCellStyle();
// 배경색 정보 읽기
short backgroundColorIndex = cellStyle.getFillForegroundColor();
Color backgroundColor = cellStyle.getFillBackgroundColorColor();
System.out.println("배경색: " + backgroundColor);
// 글꼴 스타일 정보 읽기
Font font = workbook.getFontAt(cellStyle.getFontIndex());
String fontName = font.getFontName();
short fontSize = font.getFontHeightInPoints();
boolean isBold = font.getBold();
boolean isItalic = font.getItalic();
boolean isUnderline = font.getUnderline();
System.out.println("글꼴: " + fontName);
System.out.println("글꼴 크기: " + fontSize);
System.out.println("굵게: " + isBold);
System.out.println("기울임꼴: " + isItalic);
System.out.println("밑줄: " + isUnderline);
workbook.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
위의 코드에서 path/to/excel-file.xlsx
부분을 읽고자 하는 Excel 파일의 경로로 변경해야 합니다.
결과 확인
위의 예제 코드를 실행하면 콘솔에 배경색과 글꼴 스타일 정보가 출력됩니다. 이를 통해 Excel 파일의 셀 서식을 성공적으로 읽어올 수 있습니다.
마무리
이번 포스트에서는 Apache POI를 사용하여 Excel 파일의 셀 서식을 읽는 방법을 알아보았습니다. Apache POI는 다양한 기능을 제공하므로 Excel 파일을 다룰 때 유용하게 사용될 수 있습니다. 더 자세한 정보는 Apache POI 공식 문서를 참조하시기 바랍니다.