[java] Apache POI를 사용하여 Excel 파일의 열 삭제하기

Apache POI는 Java에서 Microsoft Office 파일을 조작하는 데 사용되는 라이브러리입니다. 이 라이브러리를 사용하면 Java 코드로 Excel 파일을 조작할 수 있습니다. 이번에는 Apache POI를 사용하여 Excel 파일에서 열을 삭제하는 방법에 대해 알아보겠습니다.

1. Apache POI 라이브러리 추가

첫 번째로, Apache POI를 사용하기 위해 Maven 또는 Gradle 프로젝트에 해당 라이브러리를 추가해야 합니다. Maven을 사용하는 경우 pom.xml 파일에 아래의 의존성을 추가하세요.

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

2. 열 삭제를 위한 코드 작성

Excel 파일에서 열을 삭제하기 위해서는 XSSFWorkbookXSSFSheet 클래스를 사용해야 합니다. 아래의 예제 코드를 참고하여 열 삭제에 필요한 메서드를 작성하세요.

import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class ExcelColumnDeletionExample {
    public static void main(String[] args) {
        String filePath = "path/to/excel-file.xlsx";
        int columnIndexToRemove = 2; // 삭제할 열의 인덱스 (0부터 시작)

        try {
            FileInputStream fileInputStream = new FileInputStream(filePath);
            Workbook workbook = new XSSFWorkbook(fileInputStream);
            Sheet sheet = workbook.getSheetAt(0); // 첫 번째 시트를 선택

            for (Row row : sheet) {
                Cell cellToRemove = row.getCell(columnIndexToRemove);
                row.removeCell(cellToRemove);
            }

            fileInputStream.close();

            FileOutputStream fileOutputStream = new FileOutputStream(filePath);
            workbook.write(fileOutputStream);
            fileOutputStream.close();

            System.out.println("열 삭제가 완료되었습니다.");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

위의 코드에서 filePath 변수에는 대상 Excel 파일의 경로를 지정해주어야 합니다. 또한 columnIndexToRemove 변수에는 삭제할 열의 인덱스를 지정해야 합니다. 이 코드에서는 열 인덱스가 0부터 시작하므로 첫 번째 열을 삭제하려면 0을, 두 번째 열을 삭제하려면 1을 입력해야 합니다.

3. 실행 및 결과 확인

위의 코드를 실행하면 주어진 열을 삭제한 후, 같은 Excel 파일에 변경 사항이 저장됩니다. 따라서 코드 실행 후 해당 파일을 열어보면 삭제된 열을 확인할 수 있습니다.

이제 Apache POI를 사용하여 Excel 파일에서 열을 삭제하는 방법에 대해 알게 되었습니다. 본 코드를 활용하여 Excel 파일을 조작할 수 있는 다양한 작업을 수행할 수 있습니다.

참고 자료