Az JSON adatok Excel‑táblázattá alakítása gyakori igény jelentéseknél vagy strukturált információk elemzésekor. Az Aspose.Words Cloud SDK for Java egy erőteljes felhőalapú API‑t biztosít, amely egyszerűsíti ezt a konverziót Java‑alkalmazásokban. Ebben az útmutatóban lépésről lépésre bemutatjuk, hogyan konvertálhatunk JSON‑t XLSX formátumba Java‑ban, egy teljes kódrészlet, a megfelelő REST‑hívások cURL‑lel, valamint alapvető legjobb gyakorlatok ajánlásaival. A végére képes lesz XLSX‑fájlokat generálni bármely JSON‑forrásból, és könnyedén kezelni a beágyazott struktúrákat.

XLSX generálása JSON-ból Java használatával - Teljes kódrészlet

Ez a példa bemutatja, hogyan lehet JSON fájlt beolvasni, DOCX táblázatot létrehozni, és XLSX formátumba konvertálni az Aspose.Words Cloud SDK for Java használatával.

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);
        }
    }
}

Megjegyzés: Ez a kódrészlet bemutatja a fő funkciókat. Mielőtt a projektjében használná, győződjön meg róla, hogy frissíti a fájlútvonalakat és a konfigurációs értékeket, hogy megfeleljenek a tényleges környezetnek, ellenőrizze, hogy minden szükséges függőség megfelelően telepítve van-e, és alaposan tesztelje a fejlesztési környezetben. Ha problémába ütközik, kérjük, tekintse meg a hivatalos dokumentációt vagy lépjen kapcsolatba a támogatási csapattal segítségért.

JSON XLSX konvertálás REST API-n keresztül cURL használatával

Ugyanaz a konverzió elvégezhető Java kód írása nélkül, ha közvetlenül meghívja az Aspose.Words Cloud REST API-t.

  1. Szerezzen hozzáférési tokent - az API OAuth 2.0-t használ.
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"
  1. Töltsd fel a JSON fájlt (az API egy DOCX forrást vár, ezért először egy helyőrző DOCX-et töltünk fel).
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"
  1. Táblázat létrehozása JSON‑ból - ez a lépés a SDK által kerül kezelésre a kódban; a REST API‑val egy előre kitöltött DOCX‑et töltene fel, amely már tartalmazza a táblázatot.

  2. Konvertálja a DOCX-et XLSX-re.

curl -X GET "https://api.aspose.cloud/v4.0/words/temp.docx?format=xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.xlsx

A paraméterek teljes listájáért lásd a hivatalos API dokumentációt.

JSON konvertálása XLSX formátumba Java-ban - Hogyan működik a kód

Az alábbiakban a Java példában szereplő kulcsfontosságú szakaszok rövid áttekintése található.

  1. API inicializálás - WordsApi wordsApi = new WordsApi(clientId, clientSecret); létrehoz egy hitelesített klienst.
WordsApi wordsApi = new WordsApi(clientId, clientSecret);
  1. JSON olvasása - ObjectMapper deszerializálja a JSON fájlt egy térképek listájába, megőrizve az eredeti mező sorrendet.
ObjectMapper mapper = new ObjectMapper();
List<Map<String, Object>> records = mapper.readValue(
        new File(jsonPath),
        mapper.getTypeFactory().constructCollectionType(List.class, Map.class));
  1. DOCX létrehozása a felhőben - CreateDocumentRequest egy üres DOCX-et hoz létre, amely a táblázatot fogja tartalmazni.
CreateDocumentRequest createRequest = new CreateDocumentRequest("temp.docx");
wordsApi.createDocument(createRequest);
  1. A fejléc sor létrehozása - Az első rekord kulcsai határozzák meg az oszlopok sorrendjét, és minden kulcs egy fejléc cellává válik.
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);
  1. Adatsorok beszúrása - Minden JSON objektum egy TableRow-ra alakul, ahol minden cell megkapja a megfelelő érték karakterlánc ábrázolását.
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++;
}
  1. Átalakítás XLSX-re - ConvertDocumentRequest azt jelzi a szolgáltatásnak, hogy alakítsa át az ideiglenes DOCX-et egy XLSX fájlra, amelyet ezután helyben írunk.
ConvertDocumentRequest convertRequest = new ConvertDocumentRequest("temp.docx", "xlsx");
byte[] xlsxBytes = wordsApi.convertDocument(convertRequest);

A részletes API-referencia megtekintéséhez látogassa meg az Aspose.Words Cloud API Reference.

Telepítés és konfigurálás Aspose.Words Cloud SDK for Java

Adja hozzá a Maven függőséget a projekt pom.xml fájljához:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words-cloud</artifactId>
    <version>26.9.0</version>
</dependency>

Töltse le a legújabb JAR fájlokat a letöltési oldalról, ha a manuális telepítést részesíti előnyben.
Előfeltételek:

  • Java 8 vagy újabb.
  • Aspose Cloud fiók ügyfél-azonosítóval és ügyfél-titokkal.
  • Hálózati hozzáférés a api.aspose.cloud-hez.

Konfigurálja az SDK-t a clientId és clientSecret változók beállításával, ahogyan a kódrészletben látható.

Következtetés

JSON-t XLSX-re konvertálni Java‑ban egyszerűvé válik az Aspose.Words Cloud SDK for Java segítségével. A mellékelt példa végigvezet a JSON beolvasásán, egy DOCX táblázat felépítésén, és az XLSX munkafüzetre konvertálásán, míg a cURL szakasz nyelvfüggetlen alternatívát mutat be. Ne feledje, hogy a termelésben való használathoz megfelelő licencet szerezzen be; az árakat megtekintheti a termékoldalon, és ideiglenes licencet szerezhet a ideiglenes licenc oldal címről. Ezekkel az eszközökkel gyorsan és megbízhatóan automatizálhatja az Excel jelentéskészítést bármilyen JSON forrásból.

GYIK

Hogyan konvertálhatom a JSON-t XLSX formátumba Java-ban az Aspose.Words Cloud SDK for Java használatával?
Használja a fenti kódmintát vagy a REST API-t. Az SDK beolvassa a JSON-t, létrehoz egy DOCX táblázatot, majd egyetlen API hívással átalakítja XLSX-re.

Képes a SDK kezelni a beágyazott JSON struktúrákat?
Igen. Lapítsa szét a beágyazott objektumokat külön oszlopokba a sorok beszúrása előtt, ahogyan a “Practical Tips” részben bemutatják.

Szükségem van licencre a termelési telepítésekhez?
Érvényes licenc szükséges a termeléshez. A vásárlási lehetőségek a termékoldalon vannak felsorolva, és egy ideiglenes licenc elérhető teszteléshez a ideiglenes licenc oldal.

Van mód a konverzió elvégzésére Java kód írása nélkül?
Természetesen. A cURL példa bemutatja, hogyan érhető el ugyanaz az eredmény a REST API-n keresztül, amely bármely platformról meghívható.

További információk