[java] Apache POI를 사용하여 Excel 파일을 생성하는 방법

Apache POI는 Java에서 Excel 파일을 읽고 생성하는 데 사용되는 라이브러리입니다. 이 라이브러리를 사용하면 Java 코드로 Excel 파일을 생성하고 데이터를 입력할 수 있습니다.

1. Apache POI 라이브러리 추가하기

먼저 Maven 또는 Gradle과 같은 빌드 도구를 사용하여 Apache POI 라이브러리를 프로젝트에 추가해야 합니다. 이를 위해 pom.xml 또는 build.gradle 파일에 다음 의존성을 추가합니다.

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'

2. Excel 파일 생성하기

Excel 파일을 생성하기 위해 Workbook 객체를 생성해야 합니다. 다음은 Apache POI를 사용하여 새로운 Excel 파일을 생성하는 예제입니다.

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

public class ExcelWriter {

    public static void main(String[] args) {
        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet("Sheet1");

        Row headerRow = sheet.createRow(0);
        Cell cell = headerRow.createCell(0);
        cell.setCellValue("이름");

        try {
            FileOutputStream fileOutputStream = new FileOutputStream("example.xlsx");
            workbook.write(fileOutputStream);
            workbook.close();
            fileOutputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 예제에서는 XSSFWorkbook 클래스를 사용하여 새 Workbook 객체를 생성하고 createSheet 메서드를 사용하여 시트를 생성합니다. 그런 다음 createRow 메서드를 사용하여 행을 생성하고 createCell 메서드를 사용하여 셀을 생성하고 값을 설정합니다.

마지막으로 FileOutputStream을 사용하여 파일에 쓰고, close 메서드를 호출하여 리소스를 정리합니다.

3. 데이터 입력하기

Excel 파일에 데이터를 입력하기 위해 위의 예제에 몇 가지 변경을 가해보겠습니다.

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

public class ExcelWriter {

    public static void main(String[] args) {
        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet("Sheet1");

        Row headerRow = sheet.createRow(0);
        Cell cell = headerRow.createCell(0);
        cell.setCellValue("이름");

        Row dataRow = sheet.createRow(1);
        Cell dataCell = dataRow.createCell(0);
        dataCell.setCellValue("홍길동");

        try {
            FileOutputStream fileOutputStream = new FileOutputStream("example.xlsx");
            workbook.write(fileOutputStream);
            workbook.close();
            fileOutputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 예제에서는 createRow 메서드를 사용하여 데이터를 입력할 행을 생성하고, createCell 메서드를 사용하여 데이터 셀을 생성하고 값을 설정합니다. 이 예제에서는 이름이 “홍길동”인 데이터를 입력하였습니다.

결론

Apache POI를 사용하여 Java에서 Excel 파일을 생성하는 방법에 대해 알아보았습니다. Workbook, Sheet, Row, Cell 등의 클래스를 사용하여 Excel 파일을 생성하고 데이터를 입력할 수 있습니다. 추가적으로 Apache POI의 다양한 기능을 활용하여 복잡한 Excel 파일을 생성할 수도 있습니다.

참조