[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 파일에서 열을 삭제하기 위해서는 XSSFWorkbook
과 XSSFSheet
클래스를 사용해야 합니다. 아래의 예제 코드를 참고하여 열 삭제에 필요한 메서드를 작성하세요.
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 파일을 조작할 수 있는 다양한 작업을 수행할 수 있습니다.