텍스트(TXT) 파일은 구조가 단순하고 호환성이 높아 데이터 교환, 로그 기록, 시스템 간 연동 등 다양한 분야에서 널리 사용됩니다. 반면 Excel 파일은 풍부한 서식과 계산 기능을 제공하지만, 특정 소프트웨어에 종속적일 수 있습니다. 따라서 데이터를 더 보편적인 형식으로 내보내거나 다른 시스템에서 읽기 쉽도록 Excel 파일을 TXT 파일로 변환해야 하는 경우가 자주 발생합니다.
이 글에서는 Java용 Spire.XLS for Java 라이브러리를 사용하여 Excel 워크시트를 텍스트 파일로 변환하는 간단하고 효율적인 방법을 소개합니다.
프로젝트에서 사용할 라이브러리를 의존성에 추가합니다. 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 파일을 직접 내려받아 프로젝트의 빌드 경로에 추가하는 방식으로도 사용할 수 있습니다 .
이 라이브러리는 Worksheet.saveToFile() 메서드를 제공하여 별도의 셀 순회 없이 워크시트 전체를 TXT 파일로 직접 저장할 수 있습니다 . 변환 과정은 다음 세 단계로 매우 간결합니다.
Workbook 객체를 생성하고 Excel 파일을 로드합니다.Worksheet 객체를 가져옵니다.saveToFile() 메서드를 호출하여 TXT 파일로 저장합니다. 이때 열 구분자와 문자 인코딩을 지정할 수 있습니다.예제 코드:
import com.spire.xls.*;
import java.nio.charset.Charset;
public class ExcelToTxt {
public static void main(String[] args) {
// Workbook 객체 생성 및 Excel 파일 로드
Workbook workbook = new Workbook();
workbook.loadFromFile("sample.xlsx");
// 첫 번째 워크시트 가져오기
Worksheet worksheet = workbook.getWorksheets().get(0);
// TXT 파일로 저장 (열 구분자: 공백, 인코딩: UTF-8)
Charset charset = Charset.forName("UTF-8");
worksheet.saveToFile("ExcelToTxt.txt", " ", charset);
System.out.println("Excel 파일이 TXT로 변환되었습니다.");
}
}
위 예제는 가장 기본적인 변환을 보여줍니다. 실제 사용 시에는 몇 가지 옵션을 추가로 고려할 수 있습니다.
saveToFile() 메서드의 두 번째 파라미터로 열 구분자를 지정할 수 있습니다. 예제에서는 공백(" ")을 사용했지만, 탭 문자("\t")나 쉼표(",") 등 데이터 성격에 맞는 구분자를 선택하면 됩니다 .UTF-8을 사용하는 것이 좋으며, Charset.forName("EUC-KR")과 같이 다른 인코딩도 가능합니다 .workbook.getWorksheets().get(인덱스) 메서드에서 인덱스를 변경하여 첫 번째 워크시트뿐만 아니라 원하는 특정 워크시트를 변환할 수 있습니다 . 전체 워크북의 모든 시트를 변환하려면 반복문을 사용하면 됩니다.Java에서 Excel을 TXT로 변환하는 방법은 다양합니다.
XSSFWorkbook 등을 사용하여 각 셀을 순회하며 데이터를 읽고, 직접 StringBuilder 등에 추가하여 TXT 파일을 생성해야 합니다. 더 많은 코드가 필요하지만, 세부적인 제어가 가능합니다 .이 글에서 소개한 방식은 별도의 셀 순회 없이 메서드 하나로 변환을 완료하므로, 단순하고 빠른 변환 작업에 특히 효율적입니다.
이 글에서는 Java용 Spire.XLS for Java 라이브러리를 사용하여 Excel 파일을 TXT 텍스트 파일로 변환하는 간단한 방법을 코드 예제와 함께 살펴보았습니다. Worksheet.saveToFile() 메서드 하나로 구분자와 인코딩까지 지정할 수 있어, 복잡한 로직 없이도 빠르게 변환 작업을 수행할 수 있습니다. 이는 데이터를 다른 시스템으로 내보내거나, 로그 형태로 저장하거나, 단순 텍스트 분석이 필요한 상황에서 유용한 도구가 될 수 있습니다. 다만 상용 라이선스 정책과 무료 버전의 제약 사항을 프로젝트 환경에 맞게 검토하고, 필요에 따라 Apache POI와 같은 오픈소스 대안과의 비교를 통해 가장 적합한 방법을 선택할 것을 권장합니다 .