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

Java에서 Apache POI 라이브러리를 사용하면 Excel 파일을 만들고 수정할 수 있습니다. 이번 포스트에서는 Apache POI를 사용하여 Excel 파일에서 행을 삭제하는 방법을 알아보겠습니다.

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

먼저, Apache POI 라이브러리를 사용하기 위해 프로젝트의 빌드 파일에 다음 의존성을 추가해야 합니다. Maven을 사용하는 경우 pom.xml 파일에 아래의 의존성을 추가하고, Gradle을 사용하는 경우 build.gradle 파일에 아래의 의존성을 추가해야 합니다.

Maven

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

Gradle

dependencies {
  implementation 'org.apache.poi:poi:5.0.0'
  implementation 'org.apache.poi:poi-ooxml:5.0.0'
}

위의 의존성을 추가하면 Apache POI 라이브러리를 프로젝트에서 사용할 수 있습니다.

2. Excel 파일에서 행 삭제하기

Excel 파일에서 행을 삭제하려면 다음과 같은 절차를 따라야 합니다.

  1. Excel 파일을 읽기 위해 Workbook 객체를 생성합니다.
  2. 원하는 시트를 선택하고, 해당 시트의 Sheet 객체를 얻습니다.
  3. 삭제할 행의 인덱스를 확인합니다.
  4. Sheet 객체의 removeRow 메서드를 사용하여 행을 삭제합니다.
  5. 변경사항을 저장하고 파일을 닫습니다.

아래는 Excel 파일에서 행을 삭제하는 예제 코드입니다.

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

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

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

        try {
            FileInputStream file = new FileInputStream(new File(filePath));
            Workbook workbook = WorkbookFactory.create(file);
            Sheet sheet = workbook.getSheetAt(0);

            sheet.removeRow(sheet.getRow(rowIndex));

            file.close();

            FileOutputStream outFile = new FileOutputStream(new File(filePath));
            workbook.write(outFile);
            outFile.close();

            System.out.println("행이 성공적으로 삭제되었습니다.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 예제 코드에서 filePath 변수를 자신의 Excel 파일 경로로 변경해야 합니다. rowIndex 변수에는 삭제할 행의 인덱스를 지정합니다. 위의 예제는 첫 번째 시트에서 세 번째 행을 삭제하는 예제입니다.

위의 예제 코드를 실행하면 지정한 Excel 파일에서 행이 성공적으로 삭제됩니다.

결론

Apache POI를 사용하여 Java에서 Excel 파일을 수정하는 방법을 알아보았습니다. Excel 파일에서 행을 삭제하는 방법을 익혀서 필요한 경우에 사용해보시기 바랍니다.