ספריית קוד פתוח ל-Node.js לכתיבת נתונים לקבצי Excel

ספריית Node.js קוד פתוח ייעודית ל-Excel XLSX המספקת API פשוט ליצירת קבצי .xlsx (Excel) ולכתוב נתונים לקבצי Excel בצורה זורמת.

מהו Node-XLSX-Writer?

בעולם הפיתוח של Node.js, יצירת דוחות וייצוא נתונים הם דרישות נפוצות. בעוד שיש ספריות חזקות כמו exceljs, לפעמים יש צורך בפתרון המתמקד במשימה אחת בלבד; כתיבת קבצי XLSX במהירות וביעילות, ללא עומס של קריאה או שינוי של קבצים קיימים. כאן נכנסת Node-XLSX-Writer, ספרייה קלה לשימוש המיועדת בדיוק למטרה זו. הספרייה מתבלטת בפשטותה ובפונקציונליות הממוקדת שלה. בניגוד לספריות Excel מקיפות המטפלות בקריאה, כתיבה ושינוי, מודול זה מתמקד רק בכתיבת קובצי XLSX, מה שהופך אותו לקל משקל, קל ללמידה, ליישום מהיר ואמין.

Node-XLSX-Writer היא ספרייה קלה לשימוש המיועדת במיוחד ליצירת קבצי XLSX (Excel) באפליקציות Node.js. עבור משימות כמו יצירת ייצוא בסגנון CSV עם היתרונות של העיצוב של Excel ותמיכה בריבוי גיליונות (דרך ה-API הפשוט שלה), היא בחירה מצוינת שתשאיר את הקוד שלכם נקי ואת טביעת הרגל של הזיכרון של האפליקציה קטנה. נוצרה על ידי רובן וורמשר והופקה חזרה מקבצים לדוגמה של XLSX, מודול זה מספק למפתחים דרך פשוטה אך יעילה לייצא נתונים לפורמט Excel ללא המורכבות של ספריות גדולות יותר המיועדות לשינוי Excel. זה הופך אותה לבחירה אידיאלית עבור אפליקציות שצריכות לייצר דוחות גדולים ממסדי נתונים או API, מכיוון שהטבע של הזרימה מבטיח שימוש נמוך בזיכרון גם עם מערכי נתונים גדולים מאוד.

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 בקוד פתוח מספקת אפשרויות עיצוב בסיסיות כדי שהדוחות שלך ייראו מקצועיים. היא תומכת במגוון פיצ'רים לעיצוב גיליונות, כגון הבאת הפונט למודגש או מוטה, קביעת צבע רקע וצבע גבול, הגדרת סגנון הגבול (דק, בינוני, עבה) וכן הלאה. הקוד הבא מראה איך מפתחים יכולים לעצב את שורת הכותרת בתוך אפליקציות 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();

 עִברִית