JSON 데이터를 Excel 스프레드시트로 변환하는 것은 보고서 작성이나 구조화된 정보를 분석할 때 자주 필요한 작업입니다. Aspose.Words Cloud SDK for Java은 Java 애플리케이션에서 이 변환을 간소화하는 강력한 클라우드 기반 API를 제공합니다. 이 가이드에서는 Java에서 JSON을 [XLSX] 로 변환하는 방법을 단계별로 살펴보고, 전체 코드 예제, cURL을 사용한 동등한 REST 호출 및 필수 모범 사례 권장 사항을 다룹니다. 끝까지 읽으면 모든 JSON 소스에서 XLSX 파일을 생성하고 중첩 구조를 손쉽게 처리할 수 있게 됩니다.
Java를 사용하여 JSON에서 XLSX 생성 - 전체 코드 예제
이 예제는 JSON 파일을 읽고, DOCX 테이블을 만든 다음, Aspose.Words Cloud SDK for Java를 사용하여 XLSX로 변환하는 방법을 보여줍니다.
import com.aspose.words.cloud.*;
import com.aspose.words.cloud.model.*;
import com.aspose.words.cloud.api.*;
import com.aspose.words.cloud.auth.*;
import com.fasterxml.jackson.databind.*;
import java.io.*;
import java.util.*;
public class JsonToXlsxConverter {
public static void main(String[] args) throws Exception {
// Initialize API
String clientId = "YOUR_CLIENT_ID";
String clientSecret = "YOUR_CLIENT_SECRET";
WordsApi wordsApi = new WordsApi(clientId, clientSecret);
// Paths
String jsonPath = "data.json";
String tempDocxPath = "temp.docx";
String outputXlsxPath = "output.xlsx";
// Read JSON
ObjectMapper mapper = new ObjectMapper();
List<Map<String, Object>> records = mapper.readValue(new File(jsonPath),
mapper.getTypeFactory().constructCollectionType(List.class, Map.class));
// Define column order (keys from first record)
List<String> columns = new ArrayList<>(records.get(0).keySet());
// Create empty DOCX in cloud
CreateDocumentRequest createRequest = new CreateDocumentRequest("temp.docx");
wordsApi.createDocument(createRequest);
// Build table rows
TableRowInsert requestRow = new TableRowInsert();
// First row - header
TableRow headerRow = new TableRow();
List<TableCell> headerCells = new ArrayList<>();
for (String col : columns) {
TableCell cell = new TableCell();
cell.setText(col);
headerCells.add(cell);
}
headerRow.setTableCellList(headerCells);
// Insert header row at position 0
InsertTableRowRequest insertHeader = new InsertTableRowRequest("temp.docx", 0, headerRow);
wordsApi.insertTableRow(insertHeader);
// Insert data rows
int rowIndex = 1;
for (Map<String, Object> rec : records) {
TableRow dataRow = new TableRow();
List<TableCell> dataCells = new ArrayList<>();
for (String col : columns) {
TableCell cell = new TableCell();
cell.setText(String.valueOf(rec.get(col)));
dataCells.add(cell);
}
dataRow.setTableCellList(dataCells);
InsertTableRowRequest insertRow = new InsertTableRowRequest("temp.docx", rowIndex, dataRow);
wordsApi.insertTableRow(insertRow);
rowIndex++;
}
// Convert DOCX to XLSX
ConvertDocumentRequest convertRequest = new ConvertDocumentRequest("temp.docx", "xlsx");
byte[] xlsxBytes = wordsApi.convertDocument(convertRequest);
try (FileOutputStream fos = new FileOutputStream(outputXlsxPath)) {
fos.write(xlsxBytes);
}
}
}
참고: 이 코드 예제는 핵심 기능을 보여줍니다. 프로젝트에 사용하기 전에 파일 경로와 구성 값을 실제 환경에 맞게 업데이트하고, 모든 필수 종속성이 올바르게 설치되었는지 확인하며, 개발 환경에서 충분히 테스트하십시오. 문제가 발생하면 공식 문서를 참조하거나 지원 팀에 문의하십시오.
cURL을 사용한 REST API를 통한 JSON에서 XLSX 변환
같은 변환을 Java 코드를 작성하지 않고 Aspose.Words Cloud REST API를 직접 호출하여 수행할 수 있습니다.
- 액세스 토큰 얻기 - API는 OAuth 2.0을 사용합니다.
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"
- JSON 파일 업로드 (API는 DOCX 소스를 기대하므로 먼저 자리표시자 DOCX를 업로드합니다.)
curl -X PUT "https://api.aspose.cloud/v4.0/words/temp.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document" \
--data-binary "@temp.docx"
-
JSON에서 테이블 만들기 - 이 단계는 코드에서 SDK가 처리합니다; REST API를 사용할 경우 이미 테이블이 포함된 미리 채워진 DOCX를 업로드해야 합니다.
-
DOCX를 XLSX로 변환.
curl -X GET "https://api.aspose.cloud/v4.0/words/temp.docx?format=xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.xlsx
전체 매개변수 목록은 공식 API 문서를 참조하십시오.
Java에서 JSON을 XLSX로 변환 - 코드 작동 방식
아래는 Java 예제의 주요 섹션에 대한 간결한 요약입니다.
- API 초기화 -
WordsApi wordsApi = new WordsApi(clientId, clientSecret);는 인증된 클라이언트를 생성합니다.
WordsApi wordsApi = new WordsApi(clientId, clientSecret);
- JSON 읽기 -
ObjectMapper는 JSON 파일을 원래 필드 순서를 유지하면서 맵 목록으로 역직렬화합니다.
ObjectMapper mapper = new ObjectMapper();
List<Map<String, Object>> records = mapper.readValue(
new File(jsonPath),
mapper.getTypeFactory().constructCollectionType(List.class, Map.class));
- 클라우드에서 DOCX 만들기 -
CreateDocumentRequest는 테이블을 포함할 빈 DOCX를 생성합니다.
CreateDocumentRequest createRequest = new CreateDocumentRequest("temp.docx");
wordsApi.createDocument(createRequest);
- 헤더 행 만들기 - 첫 번째 레코드의 키가 열 순서를 정의하고, 각 키는 헤더 셀로 변환됩니다.
TableRow headerRow = new TableRow();
List<TableCell> headerCells = new ArrayList<>();
for (String col : columns) {
TableCell cell = new TableCell();
cell.setText(col);
headerCells.add(cell);
}
headerRow.setTableCellList(headerCells);
InsertTableRowRequest insertHeader = new InsertTableRowRequest("temp.docx", 0, headerRow);
wordsApi.insertTableRow(insertHeader);
- 데이터 행 삽입 - 각 JSON 객체는
TableRow로 변환되며, 모든 셀은 해당 값의 문자열 표현을 받습니다.
for (Map<String, Object> rec : records) {
TableRow dataRow = new TableRow();
List<TableCell> dataCells = new ArrayList<>();
for (String col : columns) {
TableCell cell = new TableCell();
cell.setText(String.valueOf(rec.get(col)));
dataCells.add(cell);
}
dataRow.setTableCellList(dataCells);
InsertTableRowRequest insertRow = new InsertTableRowRequest("temp.docx", rowIndex, dataRow);
wordsApi.insertTableRow(insertRow);
rowIndex++;
}
- XLSX 변환 -
ConvertDocumentRequest는 서비스에 임시 DOCX를 XLSX 파일로 변환하도록 지시하며, 변환된 파일은 로컬에 저장됩니다.
ConvertDocumentRequest convertRequest = new ConvertDocumentRequest("temp.docx", "xlsx");
byte[] xlsxBytes = wordsApi.convertDocument(convertRequest);
자세한 API 참조는 Aspose.Words Cloud API Reference를 방문하십시오.
설치 및 구성 Aspose.Words Cloud SDK for Java
프로젝트의 pom.xml에 Maven 종속성을 추가하세요:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words-cloud</artifactId>
<version>26.9.0</version>
</dependency>
수동 설치를 선호하는 경우 최신 JAR 파일을 다운로드 페이지에서 다운로드하십시오.
필수 조건:
- Java 8 이상.
- client ID와 client secret이 있는 Aspose Cloud 계정.
api.aspose.cloud에 대한 네트워크 액세스.
코드 예제에 표시된 대로 clientId 및 clientSecret 변수를 설정하여 SDK를 구성합니다.
결론
Java에서 JSON을 XLSX로 변환하는 작업은 **Aspose.Words Cloud SDK for Java**를 사용하면 간단해집니다. 제공된 예제는 JSON을 읽고, DOCX 테이블을 구성한 다음, 이를 XLSX 워크북으로 변환하는 과정을 단계별로 안내하며, cURL 섹션은 언어에 구애받지 않는 대안을 보여줍니다. 프로덕션 사용을 위해 적절한 라이선스를 확보하는 것을 잊지 마세요; 제품 페이지에서 가격을 확인하고 임시 라이선스 페이지에서 임시 라이선스를 얻을 수 있습니다. 이러한 도구를 사용하면 어떤 JSON 소스에서도 Excel 보고서를 빠르고 안정적으로 자동 생성할 수 있습니다.
FAQs
Java에서 Aspose.Words Cloud SDK for Java를 사용하여 JSON을 XLSX로 변환하려면 어떻게 해야 하나요?
위의 코드 샘플이나 REST API를 사용하십시오. SDK는 JSON을 읽고 DOCX 테이블을 만든 다음 단일 API 호출로 XLSX로 변환합니다.
SDK가 중첩 JSON 구조를 처리할 수 있나요?
예. 행을 삽입하기 전에 중첩 객체를 별도의 열로 평탄화하십시오. 이는 “실용적인 팁” 섹션에 표시된 대로입니다.
프로덕션 배포에 라이선스가 필요합니까?
프로덕션에서는 유효한 라이선스가 필요합니다. 구매 옵션은 제품 페이지에 나와 있으며, 테스트를 위한 임시 라이선스는 임시 라이선스 페이지에서 제공됩니다.
Java 코드를 작성하지 않고 변환을 수행할 수 있는 방법이 있나요?
물론입니다. cURL 예제는 REST API를 통해 동일한 결과를 얻는 방법을 보여주며, 이 API는 모든 플랫폼에서 호출할 수 있습니다.