CSV إلى XLSX التحويل في Java هو طلب شائع عندما تحتاج التطبيقات إلى تبادل البيانات مع مستخدمي Excel. يوفر Aspose.HTML Cloud SDK for Java واجهة برمجة تطبيقات سحابية قوية تتعامل مع هذا التحويل بكفاءة. في هذا الدليل ستتعرف على كيفية إعداد اعتماد 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

قراءة ملف CSV سطرًا بسطر يحافظ على انخفاض استهلاك الذاكرة، وهو أمر ضروري للملفات الكبيرة.

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

الخطوة 2: تهيئة عميل Aspose.HTML السحابي

أنشئ مثيلًا للعميل باستخدام بيانات الاعتماد الخاصة بك. تم توثيق فئة العميل في مرجع 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

للحصول على قائمة كاملة بالمعلمات، راجع الوثائق الرسمية لواجهة برمجة التطبيقات.

اعتبارات الأداء لتحويل ملفات CSV الكبيرة إلى XLSX

  • تدفق إدخال CSV - استخدم Files.lines أو قارئ مؤقت لمعالجة الصفوف واحدةً تلو الأخرى بدلاً من تحميل الملف بالكامل في الذاكرة.
  • التحميلات الدفعية - عند التعامل مع ملفات أكبر من 100 ميغابايت، قسّم ملف CSV إلى أجزاء أصغر وحوّل كل جزء على حدة، ثم دمج أجزاء XLSX الناتجة إذا لزم الأمر.
  • تمكين التحويل غير المتزامن - أضف معامل الاستعلام async=true إلى طلب التحويل للسماح لخدمة السحابة بمعالجة الملف في الخلفية، مما يقلل من وقت الانتظار على جانب العميل.
  • ضبط إعدادات الإخراج - عيّن علامة preserveFormatting إلى false إذا لم تكن بحاجة إلى أنماط cell الدقيقة؛ هذا يقلل من حجم الحمولة ويسرّع عملية التحويل.

الخلاصة

يوضح هذا الدليل كيفية إجراء تحويل CSV إلى XLSX في Java باستخدام Aspose.HTML Cloud SDK for Java. تعلمت كيفية تكوين Maven، قراءة بيانات CSV باستخدام التدفقات، استدعاء واجهة برمجة التطبيقات السحابية، ومعالجة الملفات الكبيرة بكفاءة. تذكر أن ترخيصًا تجاريًا مطلوب للاستخدام في الإنتاج؛ يمكنك الحصول على ترخيص مؤقت من صفحة الترخيص المؤقت ومراجعة خيارات التسعير الكاملة على صفحة المنتج. مع هذه الأدوات في يدك، يمكنك دمج وظيفة تحويل CSV‑to‑XLSX بسلاسة في أي تطبيق Java.

الأسئلة المتكررة

  • ما هي أفضل طريقة للتعامل مع ملفات CSV التي تحتوي على فواصل داخل الحقول المقتبسة؟
    استخدم محلل CSV قوي مثل Apache Commons CSV قبل تمرير البيانات إلى واجهة برمجة التطبيقات للتحويل. يحترم المحلل الفواصل المقتبسة، مما يضمن استخراج الصفوف بدقة.

  • هل يدعم Aspose.HTML Cloud SDK إخراج XLSX دون خطوة وسيطة لـ HTML?
    نعم. يمكن لطريقة convertDocument قبول محتوى CSV الخام وإنتاج ملف XLSX مباشرةً، كما هو موضح في أمثلة الشيفرة.

  • هل يمكنني تشغيل التحويل محليًا دون استخدام السحابة؟
    Aspose.HTML Cloud SDK هي خدمة سحابية، لذلك يلزم وجود اتصال بالإنترنت وبيانات اعتماد صالحة. بالنسبة للسيناريوهات داخل المؤسسة، ضع في اعتبارك Aspose.Cells، وهو منتج منفصل.

  • كيف يمكنني مراقبة حالة طلب التحويل غير المتزامن؟
    تُعيد الواجهة البرمجية (API) معرف وظيفة عندما يُستخدم async=true. قم بالاستعلام المتكرر على نقطة النهاية /jobs/{jobId} للتحقق من الحالة، ثم قم بتنزيل النتيجة بمجرد اكتمال المهمة.

اقرأ المزيد