ClosedXML لـ C# (.NET): دليل شامل مع أمثلة عملية

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

مقدمة عن ClosedXML: ما هو ولماذا تحتاجه

ClosedXML هي مكتبة مفتوحة المصدر وقوية للغة C# (.NET)، مصممة لإنشاء وقراءة وتحرير ملفات Microsoft Excel (بصيغ .xlsx و .xlsm و .xltx). توفر واجهة كائنية التوجه سهلة الاستخدام للتعامل مع جداول البيانات دون الحاجة إلى تثبيت Microsoft Office أو استخدام كائنات COM.

هذه المكتبة مفيدة بشكل خاص في:

  • أتمتة التقارير — إنشاء تقارير Excel معقدة تحتوي على بيانات من قواعد البيانات أو APIs أو مصادر أخرى
  • استيراد/تصدير البيانات — معالجة جماعية للبيانات الجدولية بين الأنظمة المختلفة
  • إنشاء القوالب — تعبئة قوالب Excel المُعدّة مسبقاً بالبيانات
  • الحسابات المالية والتحليلية — العمل مع الصيغ والجداول المحورية والرسوم البيانية
  • الانتقال من VBA — نقل الماكرو إلى لغة C# الحديثة

تدعم ClosedXML جميع إمكانيات Excel الأساسية: تنسيق الخلايا، دمج الخلايا، التنسيق الشرطي، الرسوم البيانية، الجداول المحورية، التحقق من البيانات، حماية الأوراق، وغيرها الكثير. تعمل المكتبة بالكامل في الذاكرة ولا تتطلب تثبيت Excel على الخادم.

تثبيت ClosedXML

يتم تثبيت ClosedXML عبر NuGet Package Manager. فيما يلي جميع طرق التثبيت:

عبر .NET CLI

dotnet add package ClosedXML

عبر Package Manager Console (Visual Studio)

Install-Package ClosedXML

عبر واجهة NuGet Package Manager UI

  1. افتح المشروع في Visual Studio
  2. انقر بزر الماوس الأيمن على المشروع ← "Manage NuGet Packages"
  3. ابحث عن "ClosedXML" ثم اضغط "Install"

التحقق من التثبيت

بعد التثبيت، أضف توجيه using إلى الكود الخاص بك:

using ClosedXML.Excel;

بداية سريعة: إنشاء أول جدول Excel

لنقم بإنشاء جدول بسيط يحتوي على بيانات الموظفين وحفظه في ملف:

using ClosedXML.Excel;

class Program
{
    static void Main(string[] args)
    {
        // إنشاء مصنف عمل جديد
        using (var workbook = new XLWorkbook())
        {
            // إضافة ورقة عمل
            var worksheet = workbook.Worksheets.Add("الموظفون");

            // تعبئة العناوين
            worksheet.Cell("A1").Value = "المعرف";
            worksheet.Cell("B1").Value = "الاسم";
            worksheet.Cell("C1").Value = "الوظيفة";
            worksheet.Cell("D1").Value = "الراتب";

            // تعبئة البيانات
            worksheet.Cell("A2").Value = 1;
            worksheet.Cell("B2").Value = "أحمد محمد";
            worksheet.Cell("C2").Value = "مطور";
            worksheet.Cell("D2").Value = 150000;

            worksheet.Cell("A3").Value = 2;
            worksheet.Cell("B3").Value = "سارة خالد";
            worksheet.Cell("C3").Value = "محلل";
            worksheet.Cell("D3").Value = 120000;

            // تنسيق العناوين
            var headerRange = worksheet.Range("A1:D1");
            headerRange.Style.Font.Bold = true;
            headerRange.Style.Fill.BackgroundColor = XLColor.LightBlue;

            // ضبط عرض الأعمدة تلقائياً
            worksheet.Columns().AdjustToContents();

            // حفظ الملف
            workbook.SaveAs("employees.xlsx");
        }

        Console.WriteLine("تم إنشاء الملف بنجاح!");
    }
}

يقوم هذا المثال بإنشاء ملف employees.xlsx يحتوي على ثلاثة صفوف من البيانات وعناوين منسقة.

الطرق والوظائف الأساسية في ClosedXML

1. إنشاء مصنف العمل والأوراق

الطريقة: new XLWorkbook() و workbook.Worksheets.Add()

الوصف: تنشئ مصنف عمل جديد وتضيف إليه أوراق عمل.

المعاملات:

توصيات