العمل مع Excel في C# (.NET): مكتبات EPPlus وClosedXML وNPOI

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

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

ابدأ الدورة

العمل مع Excel في C# (.NET): أفضل المكتبات والأمثلة



العمل مع جداول بيانات Excel هو أحد أكثر المهام شيوعًا في التطوير المؤسسي باستخدام C#. سواء كان الأمر يتعلق بإنشاء التقارير، أو استيراد البيانات، أو أتمتة العمليات الروتينية، فستحتاج إلى أداة موثوقة. في هذه المقالة، سنستعرض ثلاث مكتبات شائعة للعمل مع Excel في بيئة .NET: EPPlus، ClosedXML وNPOI. ستتعرف على ميزاتها، نقاط قوتها، وسترى أمثلة على الكود.



1. EPPlus — أداة قوية وحديثة



EPPlus هي واحدة من أشهر المكتبات للعمل مع ملفات Excel (.xlsx) في .NET. تدعم تقريبًا جميع إمكانيات Excel: التنسيق، الرسوم البيانية، الجداول المحورية، التنسيق الشرطي، وغيرها الكثير. بدءًا من الإصدار 5، يتم توزيع EPPlus بموجب ترخيص Polyform Noncommercial (مجاني للاستخدام غير التجاري)، بينما يتطلب الاستخدام التجاري شراء ترخيص.



التثبيت

Install-Package EPPlus


مثال: إنشاء ملف Excel بسيط

using OfficeOpenXml;

class Program{ static void Main() { // تعيين سياق الترخيص (للاستخدام غير التجاري) ExcelPackage.LicenseContext = LicenseContext.NonCommercial;

using (var package = new ExcelPackage()) { var worksheet = package.Workbook.Worksheets.Add("تقرير"); // العناوين worksheet.Cells["A1"].Value = "الاسم"; worksheet.Cells["B1"].Value = "العمر"; worksheet.Cells["C1"].Value = "المدينة"; // البيانات worksheet.Cells["A2"].Value = "آنا"; worksheet.Cells["B2"].Value = 28; worksheet.Cells["C2"].Value = "موسكو"; worksheet.Cells["A3"].Value = "إيفان"; worksheet.Cells["B3"].Value = 35; worksheet.Cells["C3"].Value = "سانت بطرسبرغ"; // التنسيق worksheet.Cells["A1:C1"].Style.Font.Bold = true; worksheet.Cells["A1:C1"].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid; worksheet.Cells["A1:C1"].Style.Fill.BackgroundColor.SetColor(System.Drawing.Color.LightBlue); // ضبط عرض الأعمدة تلقائيًا worksheet.Cells.AutoFitColumns();

// الحفظ var file = new FileInfo("تقرير.xlsx"); package.SaveAs(file); } }}


مزايا EPPlus:

  • دعم الكائنات المعقدة: الرسوم البيانية، الجداول المحورية، المخططات الشرطية
  • أداء عالٍ عند العمل مع الملفات الكبيرة
  • توثيق ممتاز ومجتمع نشط

العيوب: ترخيص تجاري مدفوع، لا يدعم .xls (التنسيق القديم).



2. ClosedXML — البساطة والراحة



ClosedXML هي مكتبة مجانية مفتوحة المصدر توفر واجهة برمجة تطبيقات مريحة للعمل مع Excel. تم بناؤها على أساس OpenXML SDK، ولكنها تخفي كل التعقيدات، وتقدم واجهة بديهية. مثالية للإنشاء السريع للتقارير والجداول.



التثبيت

Install-Package ClosedXML


مثال: إنشاء ملف مع تنسيق

using ClosedXML.Excel;

class Program{ static void Main() { using (var workbook = new XLWorkbook()) { var ws = workbook.Worksheets.Add("المبيعات"); // العناوين ws.Cell("A1").Value = "المنتج"; ws.Cell("B1").Value = "الكمية"; ws.Cell("C1").Value = "السعر"; // البيانات ws.Cell("A2").Value = "لابتوب"; ws.Cell("B2").Value = 5; ws.Cell("C2").Value =

توصيات