CSV zu XLSX Konvertierung in Java ist ein häufiges Bedürfnis, wenn Anwendungen Daten mit Excel‑Benutzern austauschen müssen. Das Aspose.HTML Cloud SDK for Java bietet eine leistungsstarke cloudbasierte API, die diese Transformation effizient verarbeitet. In diesem Leitfaden sehen Sie, wie Sie die Maven‑Abhängigkeit einrichten, CSV‑Daten mit Streams lesen, ein XLSX‑Arbeitsbuch erzeugen und die Konvertierung über die REST‑API aufrufen. Am Ende haben Sie ein vollständiges, produktionsreifes Beispiel, das Sie an Ihre eigenen Projekte anpassen können.

Voraussetzungen und Einrichtung

Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  • Java 17 oder höher installiert.
  • Ein Aspose Cloud‑Konto mit Client‑ID und Client‑Secret.
  • Maven für die Abhängigkeitsverwaltung installiert.

Fügen Sie das Aspose.HTML Cloud SDK für Java zu Ihrem Projekt hinzu:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-html-cloud</artifactId>
    <version>23.12</version>
</dependency>

Alternativ können Sie das Paket direkt über die Befehlszeile installieren:

mvn install com.aspose:aspose-html-cloud

Download die neuesten SDK‑Binärdateien von der Download‑Seite. Nachdem die Abhängigkeit aufgelöst wurde, sind Sie bereit, mit dem Codieren zu beginnen. Der nächste Abschnitt führt Sie Schritt für Schritt durch die Implementierung.

CSV-zu-XLSX-Konvertierung in Java: Schritt-für-Schritt-Anleitung

Schritt 1: Laden Sie die Quell‑CSV mit Java Streams

Das zeilenweise Lesen der CSV hält den Speicherverbrauch niedrig, was für große Dateien unerlässlich ist.

Path csvPath = Paths.get("input.csv");
List<String> csvLines = Files.readAllLines(csvPath, StandardCharsets.UTF_8);

Schritt 2: Initialisieren Sie den Aspose.HTML Cloud Client

Erstellen Sie eine Client‑Instanz mit Ihren Anmeldeinformationen. Die Client‑Klasse ist in der API‑Referenz dokumentiert.

HtmlApi htmlApi = new HtmlApi();
htmlApi.getConfiguration().setClientId("YOUR_CLIENT_ID");
htmlApi.getConfiguration().setClientSecret("YOUR_CLIENT_SECRET");

Schritt 3: CSV-Inhalt in XLSX konvertieren

Das SDK akzeptiert die CSV‑Daten als Zeichenkette und gibt einen binären XLSX‑Stream zurück.

String csvContent = String.join("\n", csvLines);
ConvertDocumentRequest request = new ConvertDocumentRequest()
        .outputFormat("xlsx")
        .inputFileContent(csvContent.getBytes(StandardCharsets.UTF_8));
byte[] xlsxBytes = htmlApi.convertDocument(request);

Schritt 4: Speichern der resultierenden XLSX-Datei

Schreiben Sie das zurückgegebene Byte‑Array in eine Datei auf der Festplatte.

Path xlsxPath = Paths.get("output.xlsx");
Files.write(xlsxPath, xlsxBytes);

Schritt 5: Konvertierung überprüfen (Optional)

Sie können die erzeugte Datei schnell mit Apache POI oder einem beliebigen Tabellenkalkulationsbetrachter öffnen, um sicherzustellen, dass die Daten korrekt formatiert sind.

Vollständiges Codebeispiel: CSV-zu-XLSX-Konvertierung mit Aspose.HTML Cloud SDK

Das folgende Programm fasst alle Schritte zu einer einzigen, ausführbaren Klasse zusammen.

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

Hinweis: Dieses Codebeispiel demonstriert die Kernfunktionalität. Bevor Sie es in Ihrem Projekt verwenden, stellen Sie sicher, dass Sie die Dateipfade (input.csv, output.xlsx) aktualisieren, 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.

Verwendung von cURL zum Aufrufen von Aspose.HTML Cloud für die XLSX-Generierung

Die gleiche Konvertierung kann über die REST‑API durchgeführt werden. Nachfolgend sind die erforderlichen cURL‑Befehle aufgeführt.

  1. Authentifizieren und Zugriffstoken erhalten
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"

Die Antwort enthält ein access_token, das Sie in nachfolgenden Aufrufen verwenden.

  1. CSV-Datei hochladen
curl -X POST "https://api.aspose.cloud/v4.0/html/storage/file/input.csv" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -F "file=@input.csv"
  1. Führen Sie die Konvertierung aus
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
  1. Laden Sie die XLSX-Datei herunter (wenn Sie einen anderen Ausgabepfad gewählt haben)
curl -X GET "https://api.aspose.cloud/v4.0/html/storage/file/output.xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.xlsx

Für eine vollständige Liste der Parameter, siehe die offizielle API-Dokumentation.

Leistungsüberlegungen bei großen CSV-zu-XLSX-Konvertierungen

  • CSV-Eingabe streamen – Verwenden Sie Files.lines oder einen gepufferten Reader, um Zeilen einzeln zu verarbeiten, anstatt die gesamte Datei in den Speicher zu laden.
  • Batch-Uploads – Wenn Sie mit Dateien größer als 100 MB arbeiten, teilen Sie die CSV in kleinere Stücke, konvertieren Sie jedes Stück separat und fügen Sie bei Bedarf die resultierenden XLSX‑Teile zusammen.
  • Asynchrone Konvertierung aktivieren – Fügen Sie dem Konvertierungs‑Request den Abfrageparameter async=true hinzu, damit der Cloud‑Dienst die Datei im Hintergrund verarbeitet und die Wartezeit auf der Client‑Seite reduziert wird.
  • Ausgabe‑Einstellungen anpassen – Setzen Sie das Flag preserveFormatting auf false, wenn Sie keine exakten cell‑Stile benötigen; das reduziert die Payload‑Größe und beschleunigt die Konvertierung.

Fazit

Dieses Handbuch zeigte, wie man in Java eine CSV‑zu‑XLSX‑Konvertierung mit dem Aspose.HTML Cloud SDK for Java durchführt. Sie haben gelernt, wie man Maven konfiguriert, CSV‑Daten mit Streams liest, die Cloud‑API aufruft und große Dateien effizient verarbeitet. Denken Sie daran, dass für den Produktionseinsatz eine kommerzielle Lizenz erforderlich ist; Sie können eine temporäre Lizenz von der temporären Lizenzseite erhalten und die vollständigen Preisoptionen auf der Produktseite einsehen. Mit diesen Werkzeugen können Sie nahtlose CSV‑zu‑XLSX‑Funktionalität in jede Java‑Anwendung integrieren.

FAQs

  • Was ist der beste Weg, um CSV-Dateien zu verarbeiten, die Kommas in Anführungszeichen enthalten?
    Verwenden Sie einen robusten CSV-Parser wie Apache Commons CSV, bevor Sie die Daten an die Konvertierungs‑API übergeben. Der Parser respektiert Anführungszeichen als Trennzeichen und sorgt für eine genaue Zeilenextraktion.

  • Unterstützt das Aspose.HTML Cloud SDK die XLSX‑Ausgabe ohne einen Zwischenschritt mit HTML ?
    Ja. Die Methode convertDocument kann Roh‑CSV‑Inhalt akzeptieren und direkt eine XLSX‑Datei erzeugen, wie in den Code‑Beispielen gezeigt.

  • Kann ich die Konvertierung lokal ausführen, ohne die Cloud zu nutzen?
    Das Aspose.HTML Cloud SDK ist ein cloud‑basiertes Service, daher sind eine Internetverbindung und gültige Anmeldeinformationen erforderlich. Für On‑Premise‑Szenarien sollten Sie Aspose.Cells in Betracht ziehen, das ein separates Produkt ist.

  • Wie überwache ich den Status einer asynchronen Konvertierungsanfrage?
    Die API gibt eine Job‑ID zurück, wenn async=true verwendet wird. Pollen Sie den Endpunkt /jobs/{jobId} ab, um den Status zu prüfen, und laden Sie das Ergebnis herunter, sobald der Job abgeschlossen ist.

Mehr lesen