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.
- 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"
- 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"
-
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.
-
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ó.
- API inicializálás -
WordsApi wordsApi = new WordsApi(clientId, clientSecret);létrehoz egy hitelesített klienst.
WordsApi wordsApi = new WordsApi(clientId, clientSecret);
- JSON olvasása -
ObjectMapperdeszerializá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));
- DOCX létrehozása a felhőben -
CreateDocumentRequestegy üres DOCX-et hoz létre, amely a táblázatot fogja tartalmazni.
CreateDocumentRequest createRequest = new CreateDocumentRequest("temp.docx");
wordsApi.createDocument(createRequest);
- 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);
- 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++;
}
- Átalakítás XLSX-re -
ConvertDocumentRequestazt 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ó.