Java로 Excel 파일을 ODS 형식으로 변환하는 방법

Pilalo Jovanitho·2026년 8월 7일

ODS(OpenDocument Spreadsheet)는 OpenOffice Calc나 LibreOffice Calc와 같은 오피스 제품군에서 사용하는 오픈 표준 스프레드시트 형식입니다. Excel 파일과 마찬가지로 행과 열로 구성된 셀에 데이터를 저장하며, 텍스트, 수식, 서식 등을 포함할 수 있습니다. 특정 환경에서는 Excel 파일보다 ODS 형식이 더 폭넓은 호환성을 제공할 수 있어, 변환이 필요한 경우가 있습니다.

이 글에서는 Java용 Spire.XLS 라이브러리를 사용하여 Excel 파일(.xlsx, .xls)을 ODS 형식으로 변환하는 방법을 코드 예제와 함께 소개합니다.

1. 라이브러리 설치

프로젝트에서 사용할 라이브러리를 의존성에 추가합니다. Maven을 사용하는 경우 pom.xml 파일에 아래 리포지토리와 의존성을 포함시킵니다.

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls</artifactId>
        <version>16.7.3</version>
    </dependency>
</dependencies>

Maven을 사용하지 않는다면, JAR 파일을 직접 내려받아 프로젝트의 클래스패스에 추가할 수도 있습니다.

2. Excel을 ODS로 변환하기

Workbook 클래스를 사용하여 Excel 파일을 ODS 형식으로 변환할 수 있습니다.

주요 단계:
1. Workbook 객체를 생성합니다.
2. loadFromFile() 메서드로 변환할 Excel 파일을 로드합니다.
3. saveToFile() 메서드를 호출할 때 FileFormat.ODS를 지정하여 저장합니다.

예제 코드:

import com.spire.xls.*;

public class ConvertExcelToODS {
    public static void main(String[] args) {
        // Workbook 인스턴스 생성
        Workbook workbook = new Workbook();

        // Excel 파일 로드
        workbook.loadFromFile("sample.xlsx");

        // ODS 파일로 저장
        workbook.saveToFile("ExcelToODS.ods", FileFormat.ODS);
    }
}

3. 주요 고려 사항

  • 라이선스 제약: 이 라이브러리는 상용 제품이며, 무료 버전(Free Spire.XLS for Java)도 제공됩니다. 다만 무료 버전은 .xls 파일 읽기/쓰기 시 워크시트 5개와 행 200개로 제한되며, PDF 등 다른 형식으로의 변환 시에도 제약이 있을 수 있습니다. .xlsx 파일을 ODS로 변환하는 기능 역시 무료 버전에서 일부 제한이 있을 수 있으므로, 실제 활용 전에 해당 버전의 기능 제약 사항을 확인해야 합니다.
  • 호환성: ODS는 ISO 국제 표준(ISO/IEC 26300)이므로 다양한 오픈소스 오피스 제품군에서 지원합니다. 하지만 복잡한 Excel 매크로나 특정 서식은 ODS로 변환될 때 완전히 호환되지 않을 수 있습니다.
  • Apache POI 기반 접근법: 오픈소스 라이선스가 필요하거나 보다 유연한 제어가 필요하다면 Apache POI와 ODFDOM을 조합하여 Excel과 ODS를 처리하는 방법도 고려할 수 있습니다. 이 접근법은 라이선스 비용이 들지 않지만, 직접적인 변환 기능보다는 각 형식에 맞는 별도의 생성 및 조작 로직이 필요합니다.

결론

이 글에서는 Java용 Spire.XLS 라이브러리를 활용하여 Excel 파일을 ODS 형식으로 변환하는 기본적인 방법을 코드 예제와 함께 살펴보았습니다. Workbook 객체의 loadFromFile()과 saveToFile() 메서드를 사용하면 비교적 간단하게 변환을 처리할 수 있어, 다양한 스프레드시트 형식 간의 데이터 교환이 필요한 애플리케이션에서 유용하게 사용될 수 있습니다. 다만 이 라이브러리는 상용 제품이므로 무료 버전의 제약 사항이나 라이선스 비용을 프로젝트 상황에 맞게 검토해야 하며, Apache POI와 같은 오픈소스 대안을 통한 접근법과의 비교를 통해 가장 적합한 도구를 선택할 것을 권장합니다.

0개의 댓글