ExcelJS لجافا سكريبت (Node.js): دليل شامل مع أمثلة عملية

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

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

ابدأ الدورة

ExcelJS لجافا سكريبت (Node.js): الدليل الكامل لإنشاء وتحليل ملفات Excel

1. ما هي مكتبة ExcelJS ولماذا تحتاجها؟

ExcelJS هي مكتبة قوية ومرنة للغة JavaScript، مصممة للتعامل مع جداول البيانات بصيغ Excel (XLSX, XLSM, CSV وغيرها). تعمل المكتبة في بيئة Node.js وفي المتصفح أيضاً (عبر أدوات تجميع الوحدات مثل Webpack أو Browserify). تتيح ExcelJS للمطورين إنشاء وقراءة وتعديل وتحليل ملفات Excel برمجياً دون الحاجة إلى استخدام تطبيق Microsoft Excel نفسه.

لماذا تحتاج ExcelJS؟ في تطوير الويب الحديث وأتمتة العمليات التجارية، لا يزال Excel أحد أكثر الصيغ شيوعاً لتبادل البيانات. التقارير، تصدير البيانات من قواعد البيانات، المستندات المالية، قوائم الأسعار، الإحصائيات — كل هذا غالباً ما يتطلب التصدير إلى Excel. توفر مكتبة ExcelJS مجموعة كاملة من الأدوات لحل هذه المهام: من إنشاء جدول بسيط يحتوي على بيانات إلى تقارير معقدة تحتوي على خلايا مدمجة، أنماط، صيغ، رسوم بيانية وتنسيق شرطي. بالإضافة إلى ذلك، يمكنها تحليل (قراءة) ملفات Excel الموجودة، مما يتيح أتمتة استيراد البيانات من الجداول.

المزايا الرئيسية لـ ExcelJS مقارنة بالمكتبات الأخرى (مثل xlsx من SheetJS):

  • دعم الأنماط: الألوان، الخطوط، الحدود، المحاذاة، التعبئة.
  • التعامل مع الصيغ: قراءة وكتابة الصيغ الحسابية.
  • التنسيق الشرطي: تغيير مظهر الخلايا بناءً على قيمها.
  • الرسوم البيانية: إنشاء الرسوم البيانية والمخططات.
  • الصور: إدراج الصور في أوراق العمل.
  • المعالجة التدفقية: التعامل مع الملفات الكبيرة دون تحميلها بالكامل في الذاكرة.
  • دعم نشط: يتم تحديث المكتبة بانتظام ولها مجتمع كبير.

2. التثبيت

يتم تثبيت ExcelJS في مشروع Node.js باستخدام مدير الحزم npm. افتح الطرفية (Terminal) في المجلد الرئيسي لمشروعك ونفذ الأمر التالي:

npm install exceljs

بعد اكتمال التثبيت، يمكنك استيراد المكتبة في الكود الخاص بك:

const ExcelJS = require('exceljs');

إذا كنت تستخدم وحدات ES (الصيغة الحديثة import/export)، تأكد من تعيين الخاصية "type": "module" في ملف package.json الخاص بك، أو استخدم امتداد الملف .mjs:

import ExcelJS from 'exceljs';

3. البداية السريعة — مثال عملي بسيط

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

const ExcelJS = require('exceljs');

async function createSimpleExcel() {
    // 1. إنشاء مصنف جديد
    const workbook = new ExcelJS.Workbook();
    
    // 2. إضافة ورقة عمل باسم "بياناتي"
    const worksheet = workbook.addWorksheet('بياناتي');
    
    // 3. تعريف الأعمدة (العناوين)
    worksheet.columns = [
        { header: 'المعرف', key: 'id', width: 10 },
        { header: 'الاسم', key: 'name', width: 30 },
        { header: 'العمر', key: 'age', width: 10 },
        { header: 'المدينة', key: 'city', width: 20 }
    ];
    
    // 4. إضافة صفوف البيانات
    worksheet.addRow({ id: 1, name: 'آنا إيفانوفا', age: 28, city: 'موسكو' });
    worksheet.addRow({ id: 2, name: 'بيتر بيتروف', age: 35, city: 'سانت بطرسبرغ' });
    worksheet.addRow({ id: 3, name: 'إيلينا سيدوروفا', age: 22, city: 'نوفوسيبيرسك' });
    
    // 5. حفظ المصنف في ملف
    await workbook.xlsx.writeFile('output.xlsx');
    console.log('تم إنشاء الملف output.xlsx بنجاح!');                    

توصيات