CSV를 XLSX로 변환하는 것은 Java 애플리케이션이 Excel 사용자와 데이터를 교환해야 할 때 자주 요구됩니다. Aspose.HTML Cloud SDK for Java은 이 변환을 효율적으로 처리하는 강력한 클라우드 기반 API를 제공합니다. 이 가이드에서는 Maven 의존성을 설정하고, 스트림을 사용해 CSV 데이터를 읽으며, XLSX 워크북을 생성하고, REST API를 통해 변환을 호출하는 방법을 보여줍니다. 끝까지 진행하면 자체 프로젝트에 적용할 수 있는 완전한 프로덕션‑ready 예제를 얻게 됩니다.
전제 조건 및 설정
시작하기 전에 다음 항목을 확인하십시오:
- Java 17 이상이 설치되어 있어야 합니다.
- Aspose Cloud 계정과 클라이언트 ID 및 클라이언트 비밀이 필요합니다.
- 의존성 관리를 위해 Maven이 설치되어 있어야 합니다.
프로젝트에 Aspose.HTML Cloud SDK for Java를 추가하세요:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-html-cloud</artifactId>
<version>23.12</version>
</dependency>
또는 명령줄에서 직접 패키지를 설치할 수 있습니다:
mvn install com.aspose:aspose-html-cloud
최신 SDK 바이너리를 다운로드 페이지에서 다운로드하십시오. 종속성이 해결되면 코딩을 시작할 준비가 됩니다. 다음 섹션에서는 구현 과정을 단계별로 안내합니다.
Java에서 CSV를 XLSX로 변환: 단계별 안내
1단계: Java Streams를 사용하여 원본 CSV 로드하기
CSV를 한 줄씩 읽으면 메모리 사용량이 낮게 유지되어 대용량 파일에 필수적입니다.
Path csvPath = Paths.get("input.csv");
List<String> csvLines = Files.readAllLines(csvPath, StandardCharsets.UTF_8);
2단계: Aspose.HTML Cloud Client 초기화
자격 증명을 사용하여 클라이언트 인스턴스를 생성합니다. 클라이언트 클래스는 API 참조에 문서화되어 있습니다.
HtmlApi htmlApi = new HtmlApi();
htmlApi.getConfiguration().setClientId("YOUR_CLIENT_ID");
htmlApi.getConfiguration().setClientSecret("YOUR_CLIENT_SECRET");
3단계: CSV 콘텐츠를 XLSX로 변환
SDK는 CSV 데이터를 문자열로 받아들이고 바이너리 XLSX 스트림을 반환합니다.
String csvContent = String.join("\n", csvLines);
ConvertDocumentRequest request = new ConvertDocumentRequest()
.outputFormat("xlsx")
.inputFileContent(csvContent.getBytes(StandardCharsets.UTF_8));
byte[] xlsxBytes = htmlApi.convertDocument(request);
단계 4: 결과 XLSX 파일 저장
반환된 바이트 배열을 디스크에 파일로 저장합니다.
Path xlsxPath = Paths.get("output.xlsx");
Files.write(xlsxPath, xlsxBytes);
5단계: 변환 확인 (선택 사항)
Apache POI 또는 기타 스프레드시트 뷰어를 사용하여 생성된 파일을 빠르게 열어 데이터가 올바르게 형식화되었는지 확인할 수 있습니다.
전체 코드 예제: Aspose.HTML Cloud SDK를 사용한 CSV에서 XLSX 변환
다음 프로그램은 모든 단계를 하나의 실행 가능한 클래스로 결합합니다.
import java.nio.file.*;
import java.nio.charset.StandardCharsets;
import java.util.List;
import com.aspose.html.cloud.api.HtmlApi;
import com.aspose.html.cloud.model.ConvertDocumentRequest;
public class CsvToXlsxConverter {
public static void main(String[] args) throws Exception {
// 1. Load CSV file
Path csvPath = Paths.get("input.csv");
List<String> csvLines = Files.readAllLines(csvPath, StandardCharsets.UTF_8);
String csvContent = String.join("\n", csvLines);
// 2. Initialise Aspose.HTML Cloud client
HtmlApi htmlApi = new HtmlApi();
htmlApi.getConfiguration().setClientId("YOUR_CLIENT_ID");
htmlApi.getConfiguration().setClientSecret("YOUR_CLIENT_SECRET");
// 3. Convert CSV to XLSX
ConvertDocumentRequest request = new ConvertDocumentRequest()
.outputFormat("xlsx")
.inputFileContent(csvContent.getBytes(StandardCharsets.UTF_8));
byte[] xlsxBytes = htmlApi.convertDocument(request);
// 4. Save XLSX file
Path xlsxPath = Paths.get("output.xlsx");
Files.write(xlsxPath, xlsxBytes);
System.out.println("Conversion completed. XLSX saved to " + xlsxPath.toAbsolutePath());
}
}
참고: 이 코드 예제는 핵심 기능을 보여줍니다. 프로젝트에서 사용하기 전에 파일 경로(
input.csv,output.xlsx)를 업데이트하고, 모든 필수 종속성이 올바르게 설치되었는지 확인하며, 개발 환경에서 충분히 테스트하십시오. 문제가 발생하면 공식 문서를 참조하거나 지원 팀에게 문의하십시오.
cURL을 사용하여 Aspose.HTML Cloud에서 XLSX 생성 호출
동일한 변환은 REST API를 통해 수행할 수 있습니다. 아래는 필요한 cURL 명령입니다.
- 인증 및 액세스 토큰 가져오기
curl -X POST "https://api.aspose.cloud/connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
응답에는 이후 호출에서 사용할 access_token이 포함됩니다.
- CSV 파일 업로드
curl -X POST "https://api.aspose.cloud/v4.0/html/storage/file/input.csv" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@input.csv"
- 변환 실행
curl -X POST "https://api.aspose.cloud/v4.0/html/convert?outputFormat=xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"inputPath":"input.csv"}' \
-o output.xlsx
- XLSX 파일 다운로드 (다른 출력 위치를 선택한 경우)
curl -X GET "https://api.aspose.cloud/v4.0/html/storage/file/output.xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.xlsx
전체 매개변수 목록은 공식 API 문서를 참조하십시오.
대용량 CSV를 XLSX로 변환할 때 성능 고려 사항
- CSV 입력 스트리밍 -
Files.lines또는 버퍼링된 리더를 사용하여 전체 파일을 메모리에 로드하는 대신 한 번에 한 행씩 처리합니다. - 배치 업로드 - 100 MB보다 큰 파일을 다룰 때 CSV를 더 작은 청크로 나누고 각 청크를 별도로 변환한 다음 필요에 따라 결과 XLSX 파트를 병합합니다.
- 비동기 변환 활성화 - 변환 요청에 쿼리 매개변수
async=true를 추가하여 클라우드 서비스가 백그라운드에서 파일을 처리하도록 하여 클라이언트 측 대기 시간을 줄입니다. - 출력 설정 조정 - 정확한 셀 스타일이 필요하지 않은 경우
preserveFormatting플래그를false로 설정합니다; 이렇게 하면 페이로드 크기가 감소하고 변환 속도가 빨라집니다.
결론
이 가이드는 Aspose.HTML Cloud SDK for Java를 사용하여 Java에서 CSV를 XLSX로 변환하는 방법을 보여줍니다. Maven을 구성하고, 스트림을 사용하여 CSV 데이터를 읽고, 클라우드 API를 호출하며, 대용량 파일을 효율적으로 처리하는 방법을 배웠습니다. 프로덕션 사용에는 상용 라이선스가 필요함을 기억하십시오; 임시 라이선스 페이지에서 임시 라이선스를 얻을 수 있으며 제품 페이지에서 전체 가격 옵션을 검토하십시오. 이러한 도구를 사용하면 어떤 Java 애플리케이션에도 원활한 CSV‑to‑XLSX 기능을 통합할 수 있습니다.
자주 묻는 질문
-
CSV 파일에 인용된 필드 안에 쉼표가 포함된 경우 가장 좋은 처리 방법은 무엇인가요?
변환 API에 데이터를 전달하기 전에 Apache Commons CSV와 같은 강력한 CSV 파서를 사용하십시오. 파서는 인용된 구분자를 인식하여 정확한 행 추출을 보장합니다. -
Aspose.HTML Cloud SDK가 중간 HTML 단계 없이 XLSX 출력 지원합니까?
예.convertDocument메서드는 원시 CSV 내용을 받아 직접 XLSX 파일을 생성할 수 있으며, 코드 예제에 나와 있습니다. -
클라우드를 사용하지 않고 로컬에서 변환을 실행할 수 있나요?
Aspose.HTML Cloud SDK는 클라우드 기반 서비스이므로 인터넷 연결과 유효한 자격 증명이 필요합니다. 온프레미스 시나리오의 경우 별도 제품인 Aspose.Cells를 고려하십시오. -
비동기 변환 요청의 상태를 어떻게 모니터링합니까?
async=true를 사용할 때 API는 작업 ID를 반환합니다. 작업 상태를 확인하려면/jobs/{jobId}엔드포인트를 폴링하고, 작업이 완료되면 결과를 다운로드하십시오.