[java] Java Apache POI를 사용하여 Excel 파일의 시트 이름 변경하기

이 문서에서는 Java Apache POI를 사용하여 Excel 파일(.xlsx)의 시트 이름을 변경하는 방법에 대해 알아보겠습니다. Apache POI는 Java에서 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>
</dependencies>

의존성 설정 후, Maven을 통해 의존성을 다운로드 및 설치해주세요.

2. Excel 파일에서 시트 이름 변경하기

Apache POI를 사용하여 Excel 파일의 시트 이름을 변경하려면 다음 단계를 따릅니다.

2.1. Excel 파일 읽기

FileInputStream file = new FileInputStream(new File("경로/파일명.xlsx"));
Workbook workbook = new XSSFWorkbook(file);

위의 코드를 사용하여 Excel 파일을 읽고, Workbook 객체를 생성합니다.

2.2. 시트 이름 변경하기

Sheet sheet = workbook.getSheetAt(0); // 변경할 시트 인덱스
workbook.setSheetName(0, "새 시트 이름"); // 변경할 시트 이름

위의 코드에서 getSheetAt(0)은 변경할 시트의 인덱스를 가져오는 메소드입니다. 첫 번째 시트를 변경할 경우 0을 사용하면 됩니다. setSheetName(0, "새 시트 이름")은 시트의 이름을 변경하는 메소드입니다. 첫 번째 인자는 변경할 시트의 인덱스, 두 번째 인자는 변경할 시트의 새로운 이름입니다.

2.3. 변경된 내용 저장하기

FileOutputStream outFile =new FileOutputStream(new File("경로/파일명.xlsx"));
workbook.write(outFile);
outFile.close();

시트 이름을 변경한 후, write() 메소드를 사용하여 변경된 내용을 저장합니다.

3. 전체 코드 예시

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

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

public class ExcelSheetRenameExample {
    public static void main(String[] args) {
        try {
            FileInputStream file = new FileInputStream(new File("경로/파일명.xlsx"));
            Workbook workbook = new XSSFWorkbook(file);

            Sheet sheet = workbook.getSheetAt(0); // 변경할 시트 인덱스
            workbook.setSheetName(0, "새 시트 이름"); // 변경할 시트 이름

            FileOutputStream outFile =new FileOutputStream(new File("경로/파일명.xlsx"));
            workbook.write(outFile);

            outFile.close();
            workbook.close();
            file.close();

            System.out.println("시트 이름 변경 완료");

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 전체 코드는 Excel 파일에서 첫 번째 시트의 이름을 “새 시트 이름”으로 변경하는 예시입니다. 코드를 실행하면 변경된 파일을 확인할 수 있습니다.

참고 자료