> لا حاجة لتثبيت Excel محليًا. لا خادم تحويل للحفاظ عليه. تحويل XLSX → PDF و Excel → CSV/JSON/صور/HTML إلى مكالمات REST بسيطة - ولديك أول “محول جدول بيانات سحابي” يعمل في حوالي ثلاث دقائق.
“تحويل هذا الجدول إلى تنسيق مختلف” هو أحد أكثر المتطلبات شيوعًا في تطوير البرمجيات اليومية:
- ترغب فرق المالية والقانون في تقرير PDF قابل للقراءة وغير قابل للتلاعب بدلاً من .xlsx يمكن لأي شخص تعديله؛
- تحتاج فرق البيانات إلى سحب البيانات الجدولية إلى الأنظمة اللاحقة كـ CSV / JSON؛
- ترغب التطبيقات الويب والمحمولة في الحصول على أوراق العمل - وحتى الرسوم البيانية - مصورة مباشرة إلى PNG / SVG؛
- ترغب البوابات في الحصول على مقتطفات HTML / HTML-Table نظيفة للتضمين؛
- يحتاج شخص ما إلى توحيد مجموعة من ملفات .xls / .xlsx / .csv / .ods إلى تنسيق واحد.
الإجابات التقليدية - تثبيت Excel محلي مع وحدات ماكرو، أو مكون COM ثقيل على خادمك - مؤلمة للتوسع وصعبة للحفاظ عليها عبر الأنظمة الأساسية. Aspose.Cells Cloud تحل كل ذلك مع واجهة برمجة تطبيقات REST خالصة: قم بتحميل ملف، احصل على ملف بتنسيق جديد في المقابل.
تتناول هذه المقالة الثلاث واجهات برمجة التطبيقات للتحويل التي تعرضها ConversionController الأساسية في خدمة Aspose.Cells Cloud المصغرة (المصدر: src/Aspose.Cells.Cloud.MicroService/Controllers/ConversionController.cs)، مع أمثلة قابلة للتشغيل في cURL و C# (.NET) و Python و Java.
—
## 1. ماذا يمكن أن تفعل ميزة التحويل؟
ConversionController هو المتحكم المخصص لـ تحويل / تصدير التنسيق. إنه يلف التحويل عالي الدقة على مستوى المحرك في ثلاث مجموعات من واجهات برمجة التطبيقات HTTP:
| # | السيناريو | نقطة النهاية النموذجية | ماذا تفعل |
| — | ———————————————————— | ———————————————— | —————————————————————————————————————————- |
| 1 | ملف موجود في التخزين السحابي → تنزيل بتنسيق جديد | GET /v4.0/cells/{name}?format=pdf | يحول دفتر العمل مباشرة في التخزين السحابي ويبث النتيجة مرة أخرى - لا تحتاج الملفات الكبيرة للسفر إلى جهازك |
| 2 | ملف محلي → تحويل عبر الإنترنت (الميزة الرئيسية) | PUT /v4.0/cells/convert/spreadsheet?format=pdf | تقوم بتحميل الملف في جسم الطلب (multipart)؛ يقوم الخادم بتحويله ويعيد الملف الناتج مباشرة |
| 3 | ملف سحابي → حفظ كتنسيق جديد، مرة أخرى إلى التخزين السحابي | PUT /v4.0/cells/{name}/saveas?format=pdf | يتم كتابة الملف المحول مباشرة مرة أخرى إلى التخزين السحابي - مثالي لخطوط الأنابيب الآلية |
> ملاحظة التنفيذ: تستخدم المسارات المصدرية البادئة v{version}/cells مع إصدار واجهة برمجة التطبيقات 4.0، لذا تبدو المكالمات الحية مثل https://api.aspose.cloud/v4.0/cells/....
### دقة التحويل تتجاوز بكثير “الملف بالكامل”
بجانب تحويل دفتر العمل بالكامل، يمكن للمتحكم تصدير عنصر واحد:
- ورقة عمل معينة → PDF / صورة / CSV / JSON / HTML
- نطاق خلايا معين (مثل A1:C12) → PDF / صورة / CSV / JSON / HTML
- جدول معين → PDF / صورة / CSV / JSON / HTML
- رسم بياني معين → PNG / JPEG / BMP / GIF / SVG / TIFF / EMF / PDF
لذا لا تحتاج أبدًا إلى تحويل دفتر عمل بحجم 50 ميجابايت فقط للحصول على رسم بياني واحد - قم بتحويل ما تحتاجه فقط واحفظ النطاق الترددي والحساب.
—
## 2. ما هي التنسيقات المدعومة؟
استنادًا إلى سجل ExportData المدمج في المتحكم، تبدو مصفوفة التحويل تقريبًا كما يلي:
| النوع | التنسيقات |
| —————————————– | ———————————————————————————————————————- |
| استيراد و تصدير (ثنائي الاتجاه) | XLS و XLSX و XLSB و XLSM و CSV و TSV و ODS و TXT |
| تصدير فقط | PDF و OTS و XPS و DIF و HTML / MHTML و JSON و PNG و JPEG و BMP و SVG و TIFF و EMF و NUMBERS و FODS و Markdown و DOCX و PPTX و SQL، إلخ. |
باختصار: تحويلات جدول البيانات إلى جدول البيانات من كل نوع، بالإضافة إلى كل عائلة مخرجات جدول البيانات → PDF / صورة / بيانات الويب - كل ذلك خلف واجهة برمجة تطبيقات واحدة.
—
## 3. شيئان تحتاجهما قبل أن تبدأ
1. قم بتسجيل حساب مجاني على لوحة تحكم Aspose Cloud وأنشئ تطبيقًا للحصول على Client ID و Client Secret (تقوم SDKs بتبادل هذه للحصول على JWT تلقائيًا - لا حاجة لبناء رؤوس المصادقة بنفسك).
2. قم بتثبيت SDK للغة التي تختارها:
xml
<!-- .NET -->
<PackageReference Include="Aspose.Cells-Cloud" Version="25.x" />
bash
# Python
pip install asposecellscloud
xml
<!-- Java (Maven) — ملاحظة: ليس على Maven Central، لذا فإن مستودع Aspose أدناه مطلوب -->
<repositories>
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.cloud/repo/</url>
</repository>
</repositories>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cells-cloud</artifactId>
<version>26.8</version>
</dependency>
> لا حاجة لـ SDK؟ كل شيء هو REST عادي، لذا فإن cURL يعمل بنفس القدر (انظر أدناه).
—
## 4. السيناريو 1: تحويل ملف Excel محلي عبر الإنترنت (واجهة برمجة تطبيقات التحويل الرئيسية)
هذا هو PUT /v4.0/cells/convert/spreadsheet - واجهة برمجة التطبيقات الرائدة “Convert”:
قم بتحميل ملفك المحلي في جسم الطلب، يقوم الخادم بتحويله ويبث الملف الجديد مرة أخرى. لا يتم الاحتفاظ بأي شيء في التخزين السحابي ولا تبقى نسخة تحميل - مثالي للحظات “فقط قم بتحويل هذا لي”.
### ① cURL
bash
# 1) أولاً، احصل على رمز
curl -X POST "https://api.aspose.cloud/connect/token" \
-d "grant_type=client_credentials" \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET"
# 2) XLSX -> PDF
curl -X PUT "https://api.aspose.cloud/v4.0/cells/convert/spreadsheet?format=pdf" \
-H "Authorization: Bearer $TOKEN" \
-F "file=@Book1.xlsx" \
-o Book1.pdf
استبدل format بـ csv أو json أو png أو xlsx… وستحصل على ذلك التنسيق. معلمة واحدة، تنسيق إخراج واحد.
### ② C# / .NET
csharp
using Aspose.Cells.Cloud.SDK.Api;
using Aspose.Cells.Cloud.SDK.Request;
var cellsApi = new CellsApi("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
var request = new ConvertSpreadsheetRequest(
spreadsheet: "C:/invoices/Book1.xlsx", // مسار الملف المحلي
format: "pdf"); // الهدف: pdf / csv / json / png ...
using Stream result = cellsApi.ConvertSpreadsheet(request); // تدفق الملف المحول
using var outFile = File.Create("C:/invoices/Book1.pdf");
result.CopyTo(outFile);
// أبسط حتى: وجه SDK إلى مسار الإخراج ودعه يكتب الملف
// cellsApi.ConvertSpreadsheet(request, "C:/invoices/Book1.pdf");
> تحتاج إلى وظيفة دفعة؟ ضع هذا في حلقة عبر دليل وستحصل على “تحويل المجلد بالكامل XLSX → PDF”.
### ③ Python
python
from asposecellscloud.apis.cells_api import CellsApi
from asposecellscloud.requests import ConvertSpreadsheetRequest
import os
instance = CellsApi(
os.getenv('CellsCloudClientId'),
os.getenv('CellsCloudClientSecret'))
# XLSX محلي -> PDF، النتيجة مكتوبة محليًا
instance.convert_spreadsheet(
ConvertSpreadsheetRequest("Book1.xlsx", "pdf"),
local_outpath="Book1.pdf")
# تنسيقات أخرى: فقط غير المعلمة - json / csv / xlsx / png ...
### ④ Java
java
import com.aspose.cloud.cells.api.CellsApi;
import com.aspose.cloud.cells.request.ConvertSpreadsheetRequest;
import java.io.File;
public class ConvertDemo {
public static void main(String[] args) throws Exception {
CellsApi api = new CellsApi("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
ConvertSpreadsheetRequest req = new ConvertSpreadsheetRequest();
req.setSpreadsheet("C:/invoices/Book1.xlsx"); // مسار الملف المحلي
req.setFormat("pdf"); // الهدف: pdf / csv / json / png ...
File out = api.convertSpreadsheet(req); // النتيجة المحولة كملف
out.renameTo(new File("C:/invoices/Book1.pdf"));
System.out.println("تم التحويل: " + out.getAbsolutePath());
}
}
أربع لغات، إجراء واحد: قدم مسار + معلمة تنسيق → احصل على ملف الهدف مرة أخرى. هذه هي النقطة الرئيسية لواجهة برمجة تطبيقات التحويل - لا تعتمد على Excel على جانب المتصل، ولا قوالب، ولا مكونات COM.
—
## 5. السيناريو 2: تحويل ملف مخزن في السحابة مباشرة
عندما يكون الملف موجودًا بالفعل في تخزين سحابة Aspose (أو تخزين الكائنات الخاص بك)، لا تحتاج إلى تنزيل/تحميل ملفات كبيرة - يحدث التحويل في السحابة، مما يقلل من نقل البيانات ويحسن الأداء على دفاتر العمل الكبيرة:
bash
# cloud Book1.xlsx -> PDF، تم تنزيله محليًا
curl -G "https://api.aspose.cloud/v4.0/cells/Book1.xlsx" \
-H "Authorization: Bearer $TOKEN" \
--data-urlencode "format=pdf" \
--data-urlencode "folder=Reports" \
-o Book1.pdf
python
from asposecellscloud.apis.cells_api import CellsApi
from asposecellscloud.requests import ExportSpreadsheetAsFormatRequest
instance = CellsApi("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET")
# تحويل دفتر العمل المخزن في السحابة مباشرة إلى PDF
instance.export_spreadsheet_as_format(
ExportSpreadsheetAsFormatRequest("Book1.xlsx", format="pdf", folder="Reports"))
يمكنك أيضًا التعمق في عنصر واحد - على سبيل المثال، عرض “الرسم البياني الثالث على Sheet1” كـ PNG (نسخة تخزين سحابي):
bash
# الرسم البياني -> PNG
curl -G "https://api.aspose.cloud/v4.0/cells/Book1.xlsx/worksheets/Sheet1/charts/2" \
-H "Authorization: Bearer $TOKEN" \
--data-urlencode "format=png" \
-o chart.png
نقاط النهاية السحابية الدقيقة في لمحة:
| الهدف | نقطة النهاية | مثال format |
| —————- | ——————————————————- | —————————– |
| دفتر العمل بالكامل | GET /v4.0/cells/{name} | pdf / xlsx / csv / json |
| ورقة عمل واحدة | GET /v4.0/cells/{name}/worksheets/{ws} | pdf / png / svg |
| نطاق واحد | GET /v4.0/cells/{name}/worksheets/{ws}/ranges/{range} | pdf / csv / json / html / png |
| جدول واحد | GET /v4.0/cells/{name}/worksheets/{ws}/tables/{table} | pdf / csv / json / html / png |
| رسم بياني واحد | GET /v4.0/cells/{name}/worksheets/{ws}/charts/{index} | pdf / png / jpeg / svg / tiff |
—
## 6. السيناريو 3: SaveAs - كتابة النتيجة مرة أخرى إلى التخزين السحابي
عندما تريد أن يتم حفظ الملف المحول مرة أخرى في التخزين السحابي (بدلاً من تنزيله)، استخدم PUT /v4.0/cells/{name}/saveas. إنها مناسبة طبيعية للأتمتة مثل “تصدير تقرير اليوم إلى PDF للأرشفة، كل يوم”:
bash
curl -X PUT "https://api.aspose.cloud/v4.0/cells/Book1.xlsx/saveas?format=pdf" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
python
from asposecellscloud.apis.cells_api import CellsApi
from asposecellscloud.requests import SaveSpreadsheetAsRequest
instance = CellsApi("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET")
instance.save_spreadsheet_as(
SaveSpreadsheetAsRequest("Book1.xlsx", format="pdf", folder="Reports"))
# يتم حفظ النتيجة مباشرة في التخزين السحابي؛ تعيد CellsCloudResponse(Code=200, Status="OK")
يمكنك تمرير خيارات حفظ دقيقة من خلال جسم الطلب SaveOptionsData، والتحكم في اسم ملف الإخراج، التخزين الخارجي، الخطوط المخصصة، المنطقة/اللغة، كلمة المرور، إلخ. المزيد عن ذلك تحت تفاصيل الهندسة أدناه.
—
## 7. المزيد من نقاط النهاية “التحويل عبر الإنترنت” الجاهزة
بجانب التحويلات على مستوى دفتر العمل المذكورة أعلاه، تعرض وحدة التحكم مجموعة كاملة من نقاط النهاية المخصصة للملف المحلي → الهدف المحدد (نفس تحميل جسم الطلب كما في السيناريو 1)، والتي تكون أكثر دقة وأرخص في النطاق الترددي:
| الهدف | نقطة النهاية (PUT، بادئة /v4.0/cells/convert/) |
| ———————————————— | ——————————————————————————————————– |
| دفتر العمل → PDF / JSON / CSV | spreadsheet/pdf، spreadsheet/json، spreadsheet/csv |
| ورقة العمل → PDF / JSON / CSV / HTML / HTML-Table | worksheet/pdf، worksheet/json، worksheet/csv، worksheet/html، worksheet/html-table |
| ورقة العمل → صورة | worksheet/image?worksheet=Sheet1&format=png |
| نطاق → PDF / CSV / HTML / JSON / صورة | range/pdf، range/csv، range/html، range/json، range/image?worksheet=..&range=A1:C12&format=png |
| جدول → PDF / CSV / HTML / JSON / صورة | table/pdf، table/csv، table/html، table/json، table/image |
| رسم بياني → صورة / PDF | chart/image?worksheet=..&chartIndex=0&format=png، chart/pdf |
على سبيل المثال، “تصدير هذا النطاق فقط كـ CSV للنظام اللاحق”:
bash
curl -X PUT "https://api.aspose.cloud/v4.0/cells/convert/range/csv" \
-H "Authorization: Bearer $TOKEN" \
--data-urlencode "worksheet=Sheet1" \
--data-urlencode "range=A1:C100" \
-F "file=@data.xlsx" \
-o data.csv
تستخدم هذه النقاط النهائية نفس نمط التحميل في الجسم مثل convert/spreadsheet. في SDK .NET، تحتوي حالات الرسم البياني على أغلفة مكتوبة تتطابق مع هذه المسارات v4.0 - ConvertChartToImage (convert/chart/image) و ConvertChartToPdf (convert/chart/pdf). لا تحتوي المتغيرات worksheet/* و range/* و table/* على غلاف v4.0 بعد، لذا استدعها عبر REST عادي تمامًا كما تفعل cURL أعلاه.
—
## 8. تفاصيل الهندسة ومعالجة الأخطاء
### خيارات التحويل التي تستحق المعرفة (معلمات الاستعلام)
- password - فتح دفاتر العمل المحمية بكلمة مرور؛
- fontsLocation / دعم الخطوط المخصصة - الحفاظ على الرموز الصحيحة عند عرض PDF/الصور؛
- ضبط صفوف/أعمدة تلقائيًا، وما إذا كان يجب طباعة رؤوس الصفوف/الأعمدة (printHeadings)، إعداد المنطقة/الصفحة (region)؛
- جانب الإخراج: outPath / outStorageName يقرران مكان هبوط النتيجة في التخزين السحابي.
### رموز الأخطاء (العقدة التي توثقها وحدة التحكم)
| الحالة | المعنى | السبب النموذجي |
| ——- | ———— | ———————————————————– |
| 400 | طلب غير صالح | عنوان URL / معلمات غير صالحة، أو تنسيق غير مدعوم |
| 401 | غير مصرح به | فشلت المصادقة أو لم يتم تقديم بيانات اعتماد صالحة |
| 404 | غير موجود | الملف المصدر غير متاح في التخزين السحابي |
| 500 | خطأ في الخادم | واجهت الخدمة شذوذًا أثناء الحصول على بيانات التحويل |
### المصادقة
تقوم جميع SDKs بالمصادقة تلقائيًا باستخدام OAuth 2.0 client_credentials و JWT؛ عند استخدام cURL الخام، اتصل بـ /connect/token مرة واحدة أولاً (انظر السيناريو 1، ① أعلاه).
—
## 9. لماذا Aspose.Cells Cloud Convert؟
- ✅ لا تبعيات محلية - لا Office/Excel، لا COM. قابلة للاستدعاء من أي لغة وأي منصة (Linux، الحاويات، بدون خادم)؛
- ✅ عرض عالي الدقة - مدعوم من محرك Aspose.Cells، لذا يتم عرض الصيغ والرسوم البيانية والأنماط والترقيم بجودة احترافية في PDF/الصور؛
- ✅ سحابي الأصل - يمكن أن تبقى الملفات في السحابة أثناء التحويل لتجنب شحن حمولات كبيرة؛ يحتاج التحويل عبر الإنترنت الخالص إلى تخزين سحابي على الإطلاق؛
- ✅ دقة مرنة - دفتر العمل / ورقة العمل / النطاق / الجدول / الرسم البياني: قم بتحويل بالضبط الجزء الذي تحتاجه؛
- ✅ شكل واحد عبر SDKs - تتطابق أمثلة cURL و .NET و Python و Java 1:1، لذا يمكنك حرفيًا نسخ النمط الذي تفضله.
ابدأ الآن: سجل في لوحة تحكم Aspose Cloud، أنشئ تطبيقًا، ضع بيانات اعتمادك في أي مقتطف أعلاه، وقم بتشغيله - ستحصل على “محول Excel سحابي” خاص بك في دقائق.
هل وجدت هذا مفيدًا؟ ضع نجمة، احفظه في المفضلة، أو شاركه - وأخبرنا عن حالات استخدام تحويل جدول البيانات الخاصة بك في التعليقات.
تحويل تحويل جدول البيانات إلى سطر واحد: دليل كامل لواجهة برمجة تطبيقات Aspose.Cells Cloud Convert (.NET / Python / Java)
تحويل تحويل جدول البيانات إلى سطر واحد