مقدمة عن 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
- افتح المشروع في Visual Studio
- انقر بزر الماوس الأيمن على المشروع ← "Manage NuGet Packages"
- ابحث عن "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()
الوصف: تنشئ مصنف عمل جديد وتضيف إليه أوراق عمل.
المعاملات:
أيضاً في المكتبة
توصيات