1. منتجات
  2.   جدول
  3.   Node.js
  4.   Node-XLSX-Writer
 
  

مكتبة Node.js مفتوحة المصدر لكتابة البيانات إلى ملفات Excel

مكتبة Node.js Excel XLSX مفتوحة المصدر مخصصة توفر واجهة برمجة تطبيقات بسيطة لإنشاء ملفات .xlsx (Excel) وكتابة البيانات إلى ملفات Excel بطريقة تدفق.

ما هو Node-XLSX-Writer؟

في عالم تطوير Node.js، يُعد إنشاء التقارير وتصدير البيانات من المتطلبات الشائعة. بينما توجد مكتبات قوية مثل exceljs، في بعض الأحيان تحتاج إلى حل يركز بدقة على مهمة واحدة؛ كتابة ملفات XLSX بسرعة وكفاءة، دون عبء قراءة أو تعديل الملفات الموجودة. هنا يأتي Node-XLSX-Writer، مكتبة خفيفة وبسيطة صُممت لهذا الغرض بالتحديد. تبرز المكتبة بفضل بساطتها ووظائفها المحددة. على عكس مكتبات Excel الشاملة التي تتعامل مع القراءة والكتابة والتعديل، يركز هذا الوحدة فقط على كتابة ملفات XLSX، مما يجعلها خفيفة الوزن، سهلة التعلم، سريعة التنفيذ وموثوقة.

Node-XLSX-Writer هي مكتبة خفيفة وبسيطة صُممت خصيصًا لإنشاء ملفات XLSX (Excel) في تطبيقات Node.js. للمهام مثل إنشاء تصديرات شبيهة بCSV مع الاستفادة من تنسيق Excel ودعم الأوراق المتعددة (من خلال واجهتها البرمجية البسيطة)، فهي خيار ممتاز يحافظ على نظافة الكود ويقلل من استهلاك الذاكرة في التطبيق. تم إنشاؤها بواسطة روبن فيرميرش وتم عكس هندستها من ملفات XLSX النموذجية، وتوفر هذه الوحدة للمطورين طريقة بسيطة وفعّالة لتصدير البيانات إلى صيغة Excel دون تعقيد مكتبات تعديل Excel الكبيرة. هذا يجعلها اختيارًا مثاليًا للتطبيقات التي تحتاج إلى إنشاء تقارير ضخمة من قواعد البيانات أو واجهات برمجة التطبيقات، حيث يضمن طابع التدفق لديها استهلاكًا منخفضًا للذاكرة حتى مع مجموعات بيانات هائلة.

Previous Next

بدء الاستخدام مع Node-XLSX-Write

قبل تثبيت Node-XLSX-Writer، تحتاج إلى تثبيت مكتبات تطوير libzip على نظامك. تعتمد المكتبة على هذه الروابط الأصلية لإنشاء ملفات zip (ملفات XLSX هي أساسًا XML مضغوط). يرجى استخدام الأوامر التالية للنجاح في التثبيت.

تثبيت Node-XLSX-Write عبر npm

npm install --save xlsx-writer

يمكنك تحميل المكتبة المشتركة المترجمة من مستودع GitHub وتثبيتها.

إنشاء جداول Excel XLSX في Node.js

مكتبة Node-XLSX-Writer المفتوحة المصدر تتضمن ميزات لإنشاء ومعالجة ملفات Excel XLSX داخل تطبيقات Node.js. لا تتطلب المكتبة وجود Microsoft Excel أو تفاعل COM. تقوم بإنشاء ملف XLSX (الذي هو في الأساس ملف ZIP يحتوي على أجزاء XML) برمجيًا. هذا يجعلها مناسبة للاستخدام على الخادم في بيئة Node.js. يوضح المثال البرمجي التالي أبسط طريقة لإنشاء ملف Excel مع بعض البيانات.

كيف تنشئ ملف Excel XLSX داخل تطبيقات Node.js؟

// Import the library
const XLSXWriter = require('node-xlsx-writer');

// 1. Create a new instance, specifying the output file path.
const xlsx = new XLSXWriter('./output/simple_report.xlsx');

// 2. Write the header row (optional, but recommended).
xlsx.writeRow(['Name', 'Email', 'Sign-Up Date']);

// 3. Write some data rows.
xlsx.writeRow(['Alice Smith', 'alice@example.com', '2023-10-25']);
xlsx.writeRow(['Bob Johnson', 'bob.j@domain.com', '2023-10-26']);
xlsx.writeRow(['Charlie Brown', 'charlie@brown.com', '2023-10-27']);

// 4. Finalize the file. This step is crucial to save the file properly.
xlsx.finalize();

console.log('Excel file created successfully!');

التدفق للمجموعات الكبيرة من البيانات

هنا تتألق Node-XLSX-Writer حقًا. بدلاً من تحميل جميع البيانات في الذاكرة، يمكنك تدفق الصفوف واحدًا تلو الآخر. هذا مثالي لمعالجة نتائج استعلامات قواعد البيانات. تستخدم المكتبة وظائف لإصدار كل سجل من قاعدة البيانات. نقوم بكتابته فورًا كصف جديد في ملف Excel. يضمن هذا النهج بقاء استهلاك الذاكرة ثابتًا، بغض النظر عما إذا كنت تصدر 100 صف أو مليون صف.

كيف تقوم بالتدفق من قاعدة بيانات داخل تطبيقات Node.js؟

// Import the library
const XLSXWriter = require('node-xlsx-writer');

// 1. Create a new instance, specifying the output file path.
const xlsx = new XLSXWriter('./output/simple_report.xlsx');

// 2. Write the header row (optional, but recommended).
xlsx.writeRow(['Name', 'Email', 'Sign-Up Date']);

// 3. Write some data rows.
xlsx.writeRow(['Alice Smith', 'alice@example.com', '2023-10-25']);
xlsx.writeRow(['Bob Johnson', 'bob.j@domain.com', '2023-10-26']);
xlsx.writeRow(['Charlie Brown', 'charlie@brown.com', '2023-10-27']);

// 4. Finalize the file. This step is crucial to save the file properly.
xlsx.finalize();

console.log('Excel file created successfully!');

تنسيق مخصص (الخط، اللون، الحدود)

على الرغم من أنها ليست شاملة مثل الحزم الكاملة، فإن مكتبة Node-XLSX-Writer المفتوحة المصدر توفر خيارات تنسيق أساسية لجعل تقاريرك تبدو احترافية. تدعم ميزات متنوعة لمعالجة الأنماط في جداول البيانات، مثل جعل الخط عريضًا أو مائلًا، ضبط لون الخلفية ولون الحد، تعريف نمط الحدود ('thin', 'medium', 'thick') وغيرها. يوضح المثال التالي كيف يمكن لمطوري البرمجيات تنسيق صف العنوان داخل تطبيقات Node.js.

كيف تطبق نمطًا على صف العنوان عبر مكتبة Node.js؟

const XLSXWriter = require('node-xlsx-writer');
const xlsx = new XLSXWriter('./output/styled_report.xlsx');

// Define a style object for the header
const headerStyle = {
  bold: true,
  background: 'FF2A52F5', // Blue background (ARGB Hex format)
  color: 'FFFFFFFF',       // White text
  border: 'thin',          // Thin border around cells
  borderColor: 'FF000000'  // Black border
};

// Apply the style when writing the header row
xlsx.writeRow(['Product', 'Category', 'Price', 'Stock'], headerStyle);

// Data rows are written without a style (or with a different one)
xlsx.writeRow(['Laptop', 'Electronics', 999.99, 15]);
xlsx.writeRow(['Desk Chair', 'Furniture', 249.50, 8]);

xlsx.finalize();

 عربي