Apache POI는 자바에서 Microsoft Office 파일 (예: Excel, Word, PowerPoint)을 조작하기위한 오픈 소스 라이브러리입니다. 이 라이브러리를 사용하면 자바 프로그램으로 Excel 파일을 만들고 수정할 수 있습니다. 이번 블로그 게시물에서는 Apache POI를 사용하여 Excel 파일의 데이터를 어떻게 변경할 수 있는지 알아보겠습니다.
1. Apache POI를 프로젝트에 추가하기
먼저, Apache POI를 사용하기 위해 프로젝트에 해당 라이브러리를 추가해야 합니다. Maven을 사용하는 경우, pom.xml
파일에 다음 의존성을 추가합니다:
<dependencies>
<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>
</dependencies>
이제 Maven을 사용하는 경우, 의존성을 업데이트하고 Apache POI를 프로젝트에 추가합니다.
2. Excel 파일 열기
Apache POI를 사용하여 Excel 파일의 데이터를 변경하려면 먼저 해당 파일을 열어야 합니다. 아래 코드 예제에서는 FileInputStream
을 사용하여 Excel 파일을 엽니다:
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelUpdater {
public static void main(String[] args) throws Exception {
// Excel 파일 경로
String filePath = "path/to/myExcelFile.xlsx";
// FileInputStream을 사용하여 Excel 파일 열기
Workbook workbook = new XSSFWorkbook(new FileInputStream(filePath));
// Excel 파일 조작 코드 추가...
// 변경 내용을 저장한 후 파일 닫기
FileOutputStream fileOutputStream = new FileOutputStream(filePath);
workbook.write(fileOutputStream);
workbook.close();
fileOutputStream.close();
}
}
이 코드 예제에서는 XSSFWorkbook
과 FileInputStream
을 사용하여 Excel 파일을 엽니다. 파일 경로를 path/to/myExcelFile.xlsx
로 변경해야 합니다.
3. 데이터 변경하기
Excel 파일을 열었으므로 이제 데이터를 변경할 수 있습니다. Apache POI는 셀 단위로 데이터를 조작할 수 있는 다양한 기능을 제공합니다. 아래는 데이터를 변경하는 간단한 예제입니다:
// 첫 번째 시트 가져오기
Sheet sheet = workbook.getSheetAt(0);
// 첫 번째 행 가져오기
Row row = sheet.getRow(0);
// 첫 번째 셀 가져오기
Cell cell = row.getCell(0);
// 셀의 값을 변경
cell.setCellValue("새로운 데이터");
// 데이터 변경 후 변경 내용을 저장한 후 파일 닫기 코드...
위의 코드 예제에서는 첫 번째 시트, 첫 번째 행, 첫 번째 셀을 가져와 setCellValue
메소드를 사용하여 값을 변경합니다. 이것은 간단한 예제이며, 실제로는 다양한 데이터 변경 작업을 수행할 수 있습니다. 필요에 따라 Apache POI의 다른 기능을 사용하여 원하는 데이터 변경 작업을 수행할 수 있습니다.
4. 변경 내용 저장 및 파일 닫기
데이터를 변경한 후에는 변경 내용을 저장한 다음 파일을 닫아야 합니다. 아래 코드 예제에서는 FileOutputStream
을 사용하여 변경 내용을 저장하고, close
메소드를 사용하여 파일을 닫습니다:
// 변경 내용을 저장한 후 파일 닫기
FileOutputStream fileOutputStream = new FileOutputStream(filePath);
workbook.write(fileOutputStream);
workbook.close();
fileOutputStream.close();
위의 코드 예제에서는 FileOutputStream
을 사용하여 변경 내용을 저장한 후, Workbook
과 FileOutputStream
모두를 close
메소드를 사용하여 닫습니다.
결론
이번 블로그 게시물에서는 Apache POI를 사용하여 Excel 파일의 데이터를 변경하는 방법을 알아보았습니다. Apache POI를 사용하면 자바로 Excel 파일을 조작할 수 있으며, 다양한 기능을 사용하여 원하는 대로 파일을 수정할 수 있습니다. 자세한 내용은 Apache POI의 공식 문서를 참조하시기 바랍니다.