[java] Apache POI를 이용한 Excel 파일 쓰기

Apache POI는 자바를 사용하여 Microsoft Office 파일을 조작하는 라이브러리입니다. 여기서는 Apache POI를 사용하여 Excel 파일을 쓰는 방법에 대해 알아보겠습니다.

Maven 종속성 추가하기

먼저, Maven 프로젝트의 pom.xml 파일에 Apache POI의 종속성을 추가해야 합니다.

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>4.1.2</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>4.1.2</version>
</dependency>

Excel 파일 생성 및 데이터 쓰기

아래는 Apache POI를 사용하여 Excel 파일을 생성하고 데이터를 쓰는 예제 코드입니다.

import org.apache.poi.ss.usermodel.*;

import java.io.FileOutputStream;
import java.io.IOException;

public class ExcelWriterExample {
    public static void main(String[] args) {
        // 빈 워크북 생성
        Workbook workbook = new XSSFWorkbook();

        // 워크시트 생성
        Sheet sheet = workbook.createSheet("Sheet1");

        // 데이터 작성을 위한 행 및 열 인덱스 변수
        int rowNum = 0;
        int colNum = 0;

        // 첫 번째 행을 제목 행으로 생성
        Row headerRow = sheet.createRow(rowNum++);
        headerRow.createCell(colNum++).setCellValue("이름");
        headerRow.createCell(colNum++).setCellValue("나이");

        // 데이터 행 작성
        Row dataRow = sheet.createRow(rowNum++);
        dataRow.createCell(colNum++).setCellValue("홍길동");
        dataRow.createCell(colNum++).setCellValue(30);

        // 결과 파일로 저장
        try (FileOutputStream outputStream = new FileOutputStream("example.xlsx")) {
            workbook.write(outputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }

        System.out.println("Excel 파일이 생성되었습니다.");
    }
}

위의 예제 코드에서는 Apache POI의 XSSFWorkbook을 사용하여 빈 워크북을 생성하고, createSheet 메서드를 사용하여 워크시트를 생성합니다. 그리고 첫 번째 행을 제목 행으로 생성하고, 두 번째 행에 데이터를 작성합니다. 마지막으로, FileOutputStream을 사용하여 결과 파일로 저장합니다.

실행 결과 확인

위의 예제 코드를 실행하면 현재 디렉토리에 example.xlsx 파일이 생성됩니다. 해당 파일을 열어보면 첫 번째 열에 “이름”과 “나이”가 작성되고, 두 번째 열에 “홍길동”과 “30”이 작성되어 있는 것을 확인할 수 있습니다.

결론

Apache POI는 Java에서 Excel 파일을 조작하는 작업을 쉽게 할 수 있도록 도와주는 강력한 라이브러리입니다. Excel 파일을 생성하고 데이터를 쓰는 기본적인 예제를 통해 Apache POI의 사용법에 대해 알아보았습니다. 다양한 기능을 활용하여 더 복잡한 작업을 수행할 수 있으니, 관련 문서를 참고하시기 바랍니다.

참고 자료