Die Umwandlung von JSON Daten in eine Excel‑Tabelle ist ein häufiger Bedarf beim Reporting oder bei der Analyse strukturierter Informationen. Aspose.Words Cloud SDK for Java bietet eine leistungsstarke cloud‑basierte API, die diese Konvertierung in Java‑Anwendungen vereinfacht. In diesem Leitfaden zeigen wir, wie man JSON in XLSX in Java konvertiert, einschließlich eines vollständigen Codebeispiels, der entsprechenden REST‑Aufrufe mit cURL und wichtigen Best‑Practice‑Empfehlungen. Am Ende können Sie XLSX‑Dateien aus jeder JSON‑Quelle erzeugen und verschachtelte Strukturen mühelos verarbeiten.
XLSX aus JSON mit Java generieren – Vollständiges Codebeispiel
Dieses Beispiel demonstriert, wie man eine JSON‑Datei liest, eine DOCX‑Tabelle erstellt und sie mit Aspose.Words Cloud SDK for Java in XLSX konvertiert.
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);
}
}
}
Hinweis: Dieses Codebeispiel demonstriert die Kernfunktionalität. Bevor Sie es in Ihrem Projekt verwenden, stellen Sie sicher, dass Sie alle Dateipfade und Konfigurationswerte an Ihre tatsächliche Umgebung anpassen, dass alle erforderlichen Abhängigkeiten ordnungsgemäß installiert sind und testen Sie gründlich in Ihrer Entwicklungsumgebung. Wenn Sie auf Probleme stoßen, lesen Sie bitte die offizielle Dokumentation oder wenden Sie sich an das Support-Team für Unterstützung.
JSON zu XLSX-Konvertierung über REST-API mit cURL
Die gleiche Konvertierung kann durchgeführt werden, ohne Java‑Code zu schreiben, indem die Aspose.Words Cloud REST API direkt aufgerufen wird.
- Ein Zugriffstoken erhalten - die API verwendet 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"
- Laden Sie die JSON-Datei hoch (die API erwartet eine DOCX‑Quelle, daher laden wir zuerst ein Platzhalter‑DOCX hoch).
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"
-
Erstelle eine Tabelle aus JSON - dieser Schritt wird vom SDK im Code erledigt; mit der REST API würden Sie ein vorab ausgefülltes DOCX hochladen, das bereits die Tabelle enthält.
-
Konvertieren Sie das DOCX in XLSX.
curl -X GET "https://api.aspose.cloud/v4.0/words/temp.docx?format=xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.xlsx
Für eine vollständige Liste der Parameter siehe die offizielle API-Dokumentation.
JSON nach XLSX in Java konvertieren – Wie der Code funktioniert
Im Folgenden finden Sie eine prägnante Aufschlüsselung der wichtigsten Abschnitte im Java‑Beispiel.
- API-Initialisierung -
WordsApi wordsApi = new WordsApi(clientId, clientSecret);erstellt einen authentifizierten Client.
WordsApi wordsApi = new WordsApi(clientId, clientSecret);
- JSON lesen -
ObjectMapperdeserialisiert die JSON-Datei in eine Liste von Maps und bewahrt die ursprüngliche Feldreihenfolge.
ObjectMapper mapper = new ObjectMapper();
List<Map<String, Object>> records = mapper.readValue(
new File(jsonPath),
mapper.getTypeFactory().constructCollectionType(List.class, Map.class));
- Erstellen eines DOCX in der Cloud -
CreateDocumentRequesterstellt ein leeres DOCX, das die Tabelle enthalten wird.
CreateDocumentRequest createRequest = new CreateDocumentRequest("temp.docx");
wordsApi.createDocument(createRequest);
- Erstellen der Kopfzeile - Die Schlüssel des ersten Datensatzes definieren die Spaltenreihenfolge, und jeder Schlüssel wird zu einer Kopfzelle.
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);
- Einfügen von Datenzeilen - Jeder JSON‑Objekt wird in ein
TableRowumgewandelt, wobei jede Zelle die Zeichenkettendarstellung des entsprechenden Werts erhält.
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++;
}
- Conversion to XLSX -
ConvertDocumentRequestweist den Dienst an, das temporäre DOCX in eine XLSX‑Datei zu konvertieren, die dann lokal geschrieben wird.
ConvertDocumentRequest convertRequest = new ConvertDocumentRequest("temp.docx", "xlsx");
byte[] xlsxBytes = wordsApi.convertDocument(convertRequest);
Für detaillierte API‑Referenz besuchen Sie die Aspose.Words Cloud API Reference.
Installation und Konfiguration von Aspose.Words Cloud SDK für Java
Fügen Sie die Maven‑Abhängigkeit zu Ihrer Projekt‑pom.xml hinzu:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words-cloud</artifactId>
<version>26.9.0</version>
</dependency>
Laden Sie die neuesten JARs von der Download‑Seite herunter, wenn Sie eine manuelle Installation bevorzugen.
Voraussetzungen:
- Java 8 oder höher.
- Ein Aspose Cloud‑Konto mit Client‑ID und Client‑Secret.
- Netzwerkzugriff auf
api.aspose.cloud.
Konfigurieren Sie das SDK, indem Sie die Variablen clientId und clientSecret wie im Codebeispiel gezeigt setzen.
Fazit
Die Konvertierung von JSON zu XLSX in Java wird mit dem Aspose.Words Cloud SDK for Java unkompliziert. Das bereitgestellte Beispiel führt Sie durch das Lesen von JSON, das Erstellen einer DOCX‑Tabelle und die Konvertierung in eine XLSX‑Arbeitsmappe, während der cURL‑Abschnitt eine sprachunabhängige Alternative zeigt. Denken Sie daran, für den Produktionseinsatz eine gültige Lizenz zu sichern; Sie können die Preise auf der Produktseite einsehen und eine temporäre Lizenz von der temporären Lizenzseite erhalten. Mit diesen Werkzeugen können Sie die Excel‑Berichtserstellung aus jeder JSON‑Quelle schnell und zuverlässig automatisieren.
Häufig gestellte Fragen
Wie konvertiere ich JSON zu XLSX in Java mit Aspose.Words Cloud SDK for Java?
Verwenden Sie das obige Codebeispiel oder die REST API. Das SDK liest JSON, erstellt eine DOCX‑Tabelle und konvertiert sie anschließend mit einem einzigen API‑Aufruf zu XLSX.
Kann das SDK verschachtelte JSON‑Strukturen verarbeiten?
Ja. Flachlegen Sie verschachtelte Objekte in separate Spalten, bevor Sie Zeilen einfügen, wie im Abschnitt “Practical Tips” gezeigt.
Benötige ich eine Lizenz für Produktionsbereitstellungen?
Für die Produktion ist eine gültige Lizenz erforderlich. Kaufoptionen sind auf der Produktseite aufgeführt, und eine temporäre Lizenz steht zum Testen auf der Seite für temporäre Lizenzen.
Gibt es eine Möglichkeit, die Konvertierung durchzuführen, ohne Java-Code zu schreiben?
Absolut. Das cURL‑Beispiel zeigt, wie man dasselbe Ergebnis über die REST‑API erzielt, die von jeder Plattform aus aufgerufen werden kann.