ODS(OpenDocument Spreadsheet)는 OpenOffice Calc나 LibreOffice Calc와 같은 오피스 제품군에서 사용하는 오픈 표준 스프레드시트 형식입니다. Excel 파일과 마찬가지로 행과 열로 구성된 셀에 데이터를 저장하며, 텍스트, 수식, 서식 등을 포함할 수 있습니다. 특정 환경에서는 Excel 파일보다 ODS 형식이 더 폭넓은 호환성을 제공할 수 있어, 변환이 필요한 경우가 있습니다.
이 글에서는 Java용 Spire.XLS 라이브러리를 사용하여 Excel 파일(.xlsx, .xls)을 ODS 형식으로 변환하는 방법을 코드 예제와 함께 소개합니다.
프로젝트에서 사용할 라이브러리를 의존성에 추가합니다. 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 파일을 직접 내려받아 프로젝트의 클래스패스에 추가할 수도 있습니다.
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);
}
}
.xls 파일 읽기/쓰기 시 워크시트 5개와 행 200개로 제한되며, PDF 등 다른 형식으로의 변환 시에도 제약이 있을 수 있습니다. .xlsx 파일을 ODS로 변환하는 기능 역시 무료 버전에서 일부 제한이 있을 수 있으므로, 실제 활용 전에 해당 버전의 기능 제약 사항을 확인해야 합니다.이 글에서는 Java용 Spire.XLS 라이브러리를 활용하여 Excel 파일을 ODS 형식으로 변환하는 기본적인 방법을 코드 예제와 함께 살펴보았습니다. Workbook 객체의 loadFromFile()과 saveToFile() 메서드를 사용하면 비교적 간단하게 변환을 처리할 수 있어, 다양한 스프레드시트 형식 간의 데이터 교환이 필요한 애플리케이션에서 유용하게 사용될 수 있습니다. 다만 이 라이브러리는 상용 제품이므로 무료 버전의 제약 사항이나 라이선스 비용을 프로젝트 상황에 맞게 검토해야 하며, Apache POI와 같은 오픈소스 대안을 통한 접근법과의 비교를 통해 가장 적합한 도구를 선택할 것을 권장합니다.