العمل مع جداول متعددة الألسنة
مقدمة
إذا كنت بحاجة إلى حفظ كل ورقة Excel كملف مستقل، فإن GroupDocs.Editor for .NET يجعل العملية سهلة. سواء كنت تستخرج تقارير مالية، أو تُنشئ أوراق عمل لكل قسم، أو تحول الأوراق إلى PDF، فإن هذا الدرس يرشّحك عبر سير العمل بالكامل—من إعداد البيئة إلى تحرير الموارد—حتى تتمكن من أتمتة معالجة الجداول المتعددة بثقة.
إجابات سريعة
- هل يمكن لـ GroupDocs.Editor تقسيم ملف XLSX إلى ملفات منفصلة؟ نعم، يمكنك تحميل المصنف وتصدير كل ورقة على حدة.
- ما الصيغ التي يمكن حفظ كل ورقة بها؟ XLSX، CSV، PDF، HTML، وأكثر – يدعم أكثر من 30 صيغة إخراج.
- هل أحتاج إلى ترخيص لهذه الميزة؟ الترخيص المؤقت يكفي للاختبار؛ الترخيص الكامل مطلوب للإنتاج.
- هل .NET Core مدعوم؟ بالتأكيد – المكتبة تعمل مع .NET Framework 4.0+ و .NET Core/5/6+.
- كم عدد الأوراق التي يمكن معالجتها في آن واحد؟ يمكن لـ GroupDocs.Editor التعامل مع مصنفات تحتوي على أكثر من 500 ورقة دون تحميل الملف بالكامل إلى الذاكرة.
ما هو “save each excel tab”؟
“Save each Excel tab” يعني استخراج كل ورقة عمل من مصنف متعدد الأوراق وكتابة كل واحدة في مستند مستقل خاص بها (مثل ملفات XLSX أو PDF منفصلة). يسهّل هذا النهج معالجة البيانات لاحقًا، وإعداد التقارير، والتوزيع من خلال توفير ملف لكل ورقة، يمكن بعد ذلك مشاركته أو أرشفته أو تحويله بشكل مستقل.
لماذا نستخدم GroupDocs.Editor لهذه المهمة؟
يدعم GroupDocs.Editor أكثر من 30 صيغة إدخال وإخراج ويمكنه معالجة جداول البيانات التي تحتوي على حتى 1,000 ورقة مع الحفاظ على استهلاك الذاكرة منخفضًا عبر بث البيانات بدلاً من تحميل الملف بالكامل. كما أن الـ API يحافظ على أنماط الخلايا، والصيغ، والصور المدمجة، مما يضمن أن كل ورقة مُصدرة تبدو مطابقة للأصل.
المتطلبات المسبقة
قبل الغوص في التفاصيل، تأكد من وجود ما يلي:
- Visual Studio – أي إصدار حديث (Community أو Professional أو Enterprise).
- .NET Framework 4.0+ – أو .NET Core/5/6 إذا كنت تفضّل بيئة التشغيل متعددة المنصات.
- GroupDocs.Editor for .NET – حمّله من صفحة التحميل.
- License – الترخيص المؤقت يكفي للاختبار؛ اشترِ ترخيصًا كاملاً للاستخدام في الإنتاج.
- Free trial – يمكنك أيضًا تجربة المكتبة عبر صفحة التجربة المجانية.
- Support – إذا واجهت مشاكل، قم بزيارة منتدى الدعم أو انظر إلى صفحة الشراء للحصول على ترخيص كامل.
استيراد مساحات الأسماء
قبل أن نبدأ بالبرمجة، تحتاج إلى استيراد مساحات الأسماء الضرورية. أضف توجيهات using التالية إلى أعلى ملف .cs الخاص بك:
using System.IO;
using GroupDocs.Editor.Formats;
using GroupDocs.Editor.Options;
كيفية حفظ كل ورقة Excel كملف منفصل؟
حمّل المصنف، أنشئ EditableDocument لكل ورقة، واستدعِ Save بالصيغ المطلوبة. يعزل هذا العملية كل ورقة، يتيح لك اختيار مسار إخراج مميز، ويحرّر الموارد تلقائيًا. أدناه سير العمل خطوة بخطوة الذي ستتّبعه، مع شرح لكل استدعاء API ونصائح أفضل الممارسات لتجنب المشكلات الشائعة.
الخطوة 1: الحصول على مسار ملف الإدخال
أولاً، حدد المسار الكامل لملف XLSX المصدر الذي يحتوي على عدة أوراق.
string inputFilePath = "Your Sample Document";
الخطوة 2: تحميل جدول البيانات إلى كائن Editor
فئة Editor هي نقطة الدخول لجميع عمليات المستندات في GroupDocs.Editor. تقوم بقراءة تدفق الملف وتجهّز المستند للتحرير أو الاستخراج.
using (FileStream inputStream = File.OpenRead(inputFilePath))
{
using (Editor editor = new Editor(delegate { return inputStream; }, delegate { return new SpreadsheetLoadOptions(); }))
{
// Further steps will go here
}
}
الخطوة 3: إنشاء EditableDocument من الورقة الأولى
EditableDocument تمثل ورقة واحدة قابلة للتحرير داخل المصنف. يأخذ المُنشئ كائن Editor ورقم فهرس الورقة بدءًا من الصفر.
SpreadsheetEditOptions editOptions1 = new SpreadsheetEditOptions();
editOptions1.WorksheetIndex = 0; // First tab
EditableDocument firstTabBeforeEdit = editor.Edit(editOptions1);
الخطوة 4: إنشاء EditableDocument من الورقة الثانية
يمكنك تكرار النمط نفسه لأي ورقة إضافية عن طريق تغيير قيمة الفهرس.
SpreadsheetEditOptions editOptions2 = new SpreadsheetEditOptions();
editOptions2.WorksheetIndex = 1; // Second tab
EditableDocument secondTabBeforeEdit = editor.Edit(editOptions2);
الخطوة 5: حفظ الورقة الأولى كوثيقة منفصلة
Save يكتب المستند المُعدّل إلى ملف بالصّيغة المحددة. استدعِه على كائن EditableDocument، مع توفير مسار الإخراج والصيغة (مثال: SaveFormat.Xlsx).
SpreadsheetSaveOptions saveOptions1 = new SpreadsheetSaveOptions(SpreadsheetFormats.Xlsm);
string outputFilename1 = Path.GetFileNameWithoutExtension(inputFilePath) + "_tab1.xlsm";
string outputPath1 = Path.Combine(Constants.GetOutputDirectoryPath(inputFilePath), outputFilename1);
editor.Save(firstTabBeforeEdit, outputPath1, saveOptions1);
الخطوة 6: حفظ الورقة الثانية كوثيقة منفصلة
نفس استدعاء Save يعمل للورقة الثانية، ويمكنك اختيار صيغة مختلفة مثل PDF إذا لزم الأمر.
SpreadsheetSaveOptions saveOptions2 = new SpreadsheetSaveOptions(SpreadsheetFormats.Xlsb);
string outputFilename2 = Path.GetFileNameWithoutExtension(inputFilePath) + "_tab2.xlsb";
string outputPath2 = Path.Combine(Constants.GetOutputDirectoryPath(inputFilePath), outputFilename2);
editor.Save(secondTabBeforeEdit, outputPath2, saveOptions2);
الخطوة 7: تحرير كائنات EditableDocument
Dispose يحرّر الموارد غير المُدارة التي يحتفظ بها المستند، مثل مقابض الملفات، مما يضمن عدم حدوث تسريبات في الخدمات طويلة التشغيل.
firstTabBeforeEdit.Dispose();
secondTabBeforeEdit.Dispose();
المشكلات الشائعة والحلول
- خطأ “File is locked” – تأكد من استدعاء
Dispose()على كلEditableDocumentوعلى كائنEditor، أو غلفهم بعباراتusing. - غياب الأنماط بعد التصدير – تأكد من أنك تحفظ إلى صيغة تدعم الأنماط (مثل XLSX أو PDF). CSV سيفقد التنسيق بطبيعة الحال.
- المصنفات الكبيرة تسبب بطء الأداء – استخدم خيارات التحميل المتدفقة (
LoadOptions.Streaming = true) للحفاظ على استهلاك الذاكرة منخفضًا.
الأسئلة المتكررة
س: ماذا لو كان المصنف يحتوي على أوراق مخفية؟
ج: تُعامل الأوراق المخفية كأي ورقة أخرى؛ يمكنك الوصول إليها عبر الفهرس وحفظها، لكن قد تحتاج إلى تعيين EditableDocument.IsVisible = true قبل الحفظ إذا أردت ظهورها في النتيجة.
س: هل يمكنني تحويل ورقة Excel مباشرة إلى PDF؟
ج: نعم، حدد SaveFormat.Pdf عند استدعاء Save على EditableDocument. المكتبة تحافظ على التخطيط، والصور، والرسوم البيانية أثناء التحويل.
س: هل يمكن تقسيم المصنف إلى ملفات CSV بدلاً من XLSX؟
ج: بالتأكيد. استخدم SaveFormat.Csv لكل EditableDocument لإنشاء تمثيلات CSV نصية لكل ورقة.
س: هل يدعم GroupDocs.Editor ملفات Excel المحمية بكلمة مرور؟
ج: نعم. قدّم كلمة المرور عبر LoadOptions.Password عند إنشاء كائن Editor.
س: أين يمكنني العثور على المزيد من الأمثلة للعمل مع جداول البيانات؟
ج: الوثائق الرسمية ومشاريع العينة على صفحة التحميل تحتوي على حالات استخدام إضافية.
الخاتمة
باتباع هذه الخطوات، يمكنك حفظ كل ورقة Excel كوثيقة مستقلة، تحويل الأوراق إلى PDF، أو تقسيم المصنفات الكبيرة إلى أجزاء قابلة للإدارة—كل ذلك باستخدام مكتبة GroupDocs.Editor for .NET ذات الأداء العالي والموثوقية. تُسهل هذه القدرة خطوط إعداد التقارير، وتُؤتمت استخراج البيانات، وتقلل من التعامل اليدوي مع جداول البيانات.
آخر تحديث: 2026-06-06
تم الاختبار مع: GroupDocs.Editor 23.11 for .NET
المؤلف: GroupDocs