CSV به XLSX تبدیل در Java یک نیاز متداول است وقتی برنامه‌ها باید داده‌ها را با کاربران Excel مبادله کنند. Aspose.HTML Cloud SDK for Java یک API قدرتمند مبتنی بر ابر فراهم می‌کند که این تبدیل را به‌صورت کارآمد انجام می‌دهد. در این راهنما خواهید دید که چگونه وابستگی Maven را تنظیم کنید، داده‌های CSV را با استریم‌ها بخوانید، یک کتاب‌کار XLSX تولید کنید و تبدیل را از طریق REST API فراخوانی کنید. در پایان، یک مثال کامل و آماده برای تولید خواهید داشت که می‌توانید آن را در پروژه‌های خود به کار ببرید.

پیش‌نیازها و تنظیمات

قبل از شروع، مطمئن شوید که موارد زیر را دارید:

  • Java 17 یا نسخه‌های بعدی نصب شده باشد.
  • یک حساب Aspose Cloud با شناسه مشتری (client ID) و رمز مشتری (client secret).
  • Maven برای مدیریت وابستگی‌ها نصب شده باشد.

Aspose.HTML Cloud SDK for Java را به پروژه خود اضافه کنید:

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

به‌جای آن، می‌توانید بسته را مستقیماً از خط فرمان نصب کنید:

mvn install com.aspose:aspose-html-cloud

از آخرین باینری‌های SDK از صفحه دانلود دریافت کنید. پس از حل وابستگی، آماده شروع کدنویسی هستید. بخش بعدی گام به گام شما را از طریق پیاده‌سازی راهنمایی می‌کند.

تبدیل CSV به XLSX در Java: راهنمای گام به گام

مرحله 1: بارگذاری CSV منبع با استفاده از Java Streams

خواندن فایل CSV به صورت خط به خط مصرف حافظه را کم نگه می‌دارد، که برای فایل‌های بزرگ ضروری است.

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

مرحله ۲: مقداردهی اولیهٔ کلاینت Aspose.HTML Cloud

یک نمونهٔ کلاینت را با اعتبارهای خود ایجاد کنید. کلاس کلاینت در مرجع API مستند شده است.

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

گام 3: تبدیل محتوای CSV به XLSX

SDK داده‌های CSV را به‌عنوان رشته می‌پذیرد و یک جریان باینری XLSX برمی‌گرداند.

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

مرحله 4: ذخیره فایل XLSX حاصل

آرایه بایت بازگردانده شده را در یک فایل روی دیسک بنویسید.

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

مرحله 5: تأیید تبدیل (اختیاری)

می‌توانید به‌سرعت فایل تولید شده را با Apache POI یا هر نمایشگر صفحه‌گسترده‌ای باز کنید تا اطمینان حاصل کنید داده‌ها به‌درستی قالب‌بندی شده‌اند.

مثال کامل کد: تبدیل CSV به XLSX با Aspose.HTML Cloud SDK

برنامهٔ زیر تمام مراحل را در یک کلاس قابل اجرا ترکیب می‌کند.

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

توجه: این مثال کد عملکرد اصلی را نشان می‌دهد. قبل از استفاده از آن در پروژه خود، مطمئن شوید مسیرهای فایل (input.csv, output.xlsx) به‌روز شده‌اند، تأیید کنید تمام وابستگی‌های مورد نیاز به‌درستی نصب شده‌اند و به‌طور کامل در محیط توسعه خود تست کنید. اگر با مشکلی مواجه شدید، لطفاً به مستندات رسمی مراجعه کنید یا برای دریافت کمک با تیم پشتیبانی تماس بگیرید.

استفاده از cURL برای فراخوانی Aspose.HTML Cloud برای تولید XLSX

تبدیل مشابه می‌تواند از طریق REST API انجام شود. در زیر دستورات cURL مورد نیاز آورده شده است.

  1. احراز هویت و دریافت توکن دسترسی
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"

پاسخ شامل یک access_token است که در تماس‌های بعدی استفاده خواهید کرد.

  1. بارگذاری فایل CSV
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. اجرای تبدیل
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. دانلود فایل XLSX (اگر مکان خروجی متفاوتی را انتخاب کرده‌اید)
curl -X GET "https://api.aspose.cloud/v4.0/html/storage/file/output.xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.xlsx

برای دریافت فهرست کامل پارامترها، به مستندات رسمی API مراجعه کنید.

ملاحظات عملکرد برای تبدیل‌های بزرگ CSV به XLSX

  • جریان‌سازی ورودی CSV - از Files.lines یا یک خواننده بافر استفاده کنید تا ردیف‌ها را یکی‌یکی پردازش کنید به‌جای بارگذاری کل فایل در حافظه.
  • بارگذاری‌های دسته‌ای - هنگام کار با فایل‌های بزرگ‌تر از ۱۰۰ مگابایت، CSV را به بخش‌های کوچکتر تقسیم کنید و هر بخش را جداگانه تبدیل کنید، سپس در صورت نیاز بخش‌های XLSX حاصل را ادغام کنید.
  • فعال‌سازی تبدیل ناهمزمان - پارامتر پرس‌و‌جو async=true را به درخواست تبدیل اضافه کنید تا سرویس ابری فایل را در پس‌زمینه پردازش کند و زمان انتظار در سمت کلاینت کاهش یابد.
  • تنظیمات خروجی را تنظیم کنید - پرچم preserveFormatting را به false تنظیم کنید اگر به سبک‌های دقیق cell نیاز ندارید؛ این کار حجم بار را کاهش داده و سرعت تبدیل را افزایش می‌دهد.

نتیجه‌گیری

این راهنما نحوه انجام تبدیل CSV به XLSX در جاوا با استفاده از Aspose.HTML Cloud SDK for Java را نشان داد. شما یاد گرفتید چگونه Maven را پیکربندی کنید، داده‌های CSV را با جریان‌ها بخوانید، API ابری را فراخوانی کنید و فایل‌های بزرگ را به‌صورت کارآمد مدیریت کنید. به یاد داشته باشید که برای استفاده در محیط تولید نیاز به مجوز تجاری است؛ می‌توانید یک مجوز موقت را از صفحه مجوز موقت دریافت کنید و گزینه‌های کامل قیمت‌گذاری را در صفحه محصول مرور کنید. با داشتن این ابزارها، می‌توانید عملکرد یکپارچه CSV‑to‑XLSX را در هر برنامه جاوا ادغام کنید.

سوالات متداول

  • بهترین روش برای مدیریت فایل‌های CSV که دارای کاماهای داخل فیلدهای نقل‌قولی هستند چیست؟
    از یک تجزیه‌کننده CSV قوی مانند Apache Commons CSV قبل از ارسال داده‌ها به API تبدیل استفاده کنید. این تجزیه‌کننده delimiters نقل‌قولی را رعایت می‌کند و استخراج ردیف‌های دقیق را تضمین می‌نماید.

  • آیا Aspose.HTML Cloud SDK خروجی XLSX را بدون مرحله میانی HTML پشتیبانی می‌کند؟
    بله. متد convertDocument می‌تواند محتوای خام CSV را بپذیرد و مستقیماً یک فایل XLSX تولید کند، همان‌طور که در مثال‌های کد نشان داده شده است.

  • آیا می‌توانم تبدیل را به‌صورت محلی اجرا کنم بدون استفاده از ابر؟
    Aspose.HTML Cloud SDK یک سرویس مبتنی بر ابر است، بنابراین اتصال به اینترنت و اعتبارنامه‌های معتبر لازم است. برای سناریوهای درون‌سازمانی، می‌توانید Aspose.Cells را در نظر بگیرید که یک محصول جداگانه است.

  • چگونه می‌توانم وضعیت یک درخواست تبدیل ناهمزمان را نظارت کنم؟
    API یک شناسه کار (job ID) را زمانی که async=true استفاده شود برمی‌گرداند. برای بررسی وضعیت، انتهای /jobs/{jobId} را poll کنید، سپس پس از تکمیل کار، نتیجه را دانلود کنید.

بیشتر بخوانید