CSV és XLSX konverzió Java-ban gyakori igény, amikor az alkalmazásoknak adatcserét kell végezniük Excel felhasználókkal. Az Aspose.HTML Cloud SDK for Java egy erőteljes felhőalapú API-t biztosít, amely hatékonyan kezeli ezt az átalakítást. Ebben az útmutatóban megmutatjuk, hogyan állítsuk be a Maven függőséget, hogyan olvassuk be a CSV adatokat stream-ekkel, hogyan generáljunk egy XLSX munkafüzetet, és hogyan hívjuk meg a konverziót a REST API-n keresztül. A végére egy teljes, termelésre kész példát kap, amelyet saját projektjeihez adaptálhat.

Előfeltételek és beállítás

Mielőtt elkezdené, győződjön meg arról, hogy a következőkkel rendelkezik:

  • Java 17 vagy újabb telepítve.
  • Aspose Cloud fiók ügyfél-azonosítóval és ügyfél-titokkal.
  • Maven telepítve a függőségkezeléshez.

Adja hozzá az Aspose.HTML Cloud SDK for Java-t a projektjéhez:

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

Alternatív megoldásként a csomagot közvetlenül a parancssorból telepítheti:

mvn install com.aspose:aspose-html-cloud

Töltse le a legújabb SDK bináris fájlokat a letöltési oldal címről. Miután a függőség feloldásra került, készen áll a kódolás megkezdésére. A következő szakasz lépésről lépésre végigvezeti a megvalósításon.

CSV átalakítása XLSX formátumba Java-ban: Lépésről lépésre útmutató

1. lépés: A forrás CSV betöltése Java Streams használatával

A CSV soronkénti olvasása alacsony memóriahasználatot biztosít, ami nagy fájlok esetén elengedhetetlen.

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

2. lépés: Inicializálja a Aspose.HTML Cloud Client

Hozzon létre egy kliens példányt a hitelesítő adataival. A kliens osztály dokumentálva van az API referenciában.

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

3. lépés: CSV tartalom konvertálása XLSX-be

Az SDK a CSV adatokat karakterláncként fogadja, és bináris XLSX adatfolyamot ad vissza.

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

4. lépés: Az eredmény XLSX fájl mentése

Írja a visszakapott bájt tömböt egy fájlba a lemezen.

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

5. lépés: A konverzió ellenőrzése (Opcionális)

Gyorsan megnyithatja a generált fájlt az Apache POI-val vagy bármely táblázatkezelő nézővel, hogy biztosítsa az adatok helyes formázását.

Teljes kódrészlet: CSV‑ről XLSX‑re konvertálás az Aspose.HTML Cloud SDK használatával

Az alábbi program egyetlen, futtatható osztályba foglalja össze az összes lépést.

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

Megjegyzés: Ez a kódrészlet a fő funkciót mutatja be. Mielőtt a projektjében használná, győződjön meg róla, hogy frissítette a fájl útvonalakat (input.csv, output.xlsx), ellenőrizze, hogy minden szükséges függőség megfelelően telepítve van, és alaposan tesztelje a fejlesztői környezetben. Ha problémákba ü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.

cURL használata az Aspose.HTML Cloud hívásához XLSX generáláshoz

Ugyanez a konverzió a REST API-n keresztül is elvégezhető. Az alábbiakban a szükséges cURL parancsok találhatók.

  1. Hitelesítés és hozzáférési token lekérése
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"

A válasz tartalmaz egy access_token-t, amelyet a későbbi hívások során használni fog.

  1. Töltsd fel a CSV fájlt
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. A konverzió végrehajtása
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. Töltse le az XLSX fájlt (ha másik kimeneti helyet választott)
curl -X GET "https://api.aspose.cloud/v4.0/html/storage/file/output.xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.xlsx

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

Teljesítménybeli megfontolások nagy CSV‑ról XLSX‑re konverziók esetén

  • CSV bemenet streamelése - Használja a Files.lines vagy egy pufferelt olvasót, hogy soronként dolgozza fel a sorokat a teljes fájl memóriába betöltése helyett.
  • Kötegelt feltöltések - Ha 100 MB-nál nagyobb fájlokkal dolgozik, bontsa fel a CSV-t kisebb darabokra, és konvertálja őket külön-külön, majd szükség esetén egyesítse a kapott XLSX részeket.
  • Aszinkron konverzió engedélyezése - Adja hozzá az async=true lekérdezési paramétert a konverziós kéréshez, hogy a felhőszolgáltatás a háttérben dolgozza fel a fájlt, csökkentve a kliensoldali várakozási időt.
  • Kimeneti beállítások módosítása - Állítsa a preserveFormatting jelzőt false-ra, ha nem szükséges a pontos cell stílus; ez csökkenti a payload méretét és felgyorsítja a konverziót.

Összegzés

Ez az útmutató bemutatta, hogyan lehet CSV‑t XLSX‑re konvertálni Java‑ban az Aspose.HTML Cloud SDK for Java. Megtanultad, hogyan konfiguráld a Maven‑t, olvasd be a CSV adatokat streamekkel, hívd meg a felhő API‑t, és kezeld hatékonyan a nagy fájlokat. Ne feledd, hogy a termelésben való használathoz kereskedelmi licenc szükséges; ideiglenes licencet szerezhetsz be az ideiglenes licenc oldalról, és áttekintheted a teljes árazási lehetőségeket a termékoldalon. Ezekkel az eszközökkel zökkenőmentes CSV‑t XLSX‑re konvertáló funkciót integrálhatsz bármely Java alkalmazásba.

GYIK

  • Mi a legjobb módja annak, hogy a CSV fájlokban, amelyek idézőjelek közé tett mezőket tartalmaznak, a vesszőket kezeljük?
    Használjon robusztus CSV elemzőt, például az Apache Commons CSV-t, mielőtt az adatokat átadná a konverziós API-nak. Az elemző tiszteletben tartja az idézett határolókat, biztosítva a pontos sorok kinyerését.

  • Támogatja-e az Aspose.HTML Cloud SDK az XLSX kimenetet közbenső HTML lépés nélkül?
    Igen. A convertDocument metódus képes nyers CSV tartalmat elfogadni, és közvetlenül XLSX fájlt előállítani, ahogyan a kódrészletekben látható.

  • Futtathatom a konverziót helyben a felhő használata nélkül?
    Az Aspose.HTML Cloud SDK felhőalapú szolgáltatás, ezért internetkapcsolat és érvényes hitelesítő adatok szükségesek. Helyi (on‑premise) forgatókönyvekhez vegye figyelembe az Aspose.Cells-t, amely egy különálló termék.

  • Hogyan figyelhetem egy aszinkron konverziós kérés állapotát?
    Az API egy job ID-t ad vissza, ha az async=true paramétert használják. Poll-olja a /jobs/{jobId} végpontot az állapot ellenőrzéséhez, majd töltse le az eredményt, amikor a feladat befejeződik.

További információk