مكتبة Node.js مجانية لإنشاء مخططات Excel متعددة
أفضل مكتبة Node.js مفتوحة المصدر لإنشاء مخططات بسيطة ومتقدمة في ورقة عمل Excel. تُنشئ مخططات متعددة في ملف واحد، مخططات لتنزيلات الويب ومخطط من قالب داخل Node.js.
ما هو XLSX-Chart؟
إذا كنت تعمل في Node.js وتحتاج إلى إنشاء ملفات Excel مع مخططات مدمجة، فإن حزمة المصدر المفتوح XLSX-Chart تُعد خيارًا جيدًا للغاية للنظر فيه. تسمح العديد من المكتبات بإنشاء أوراق عمل Excel، وتعيين قيم الخلايا، وما إلى ذلك، لكن القليل منها يدعم المخططات/الرسوم البيانية المدمجة في ملف XLSX. تُسد XLSX-Chart هذه الفجوة. واجهة البرمجة (API) بسيطة إلى حد ما — تقوم بتحديد نوع المخطط، العناوين، الحقول، البيانات، ثم كتابة الملف. تدعم عدة أنواع (عمود، شريط، خط، منطقة، رادار، مبعثر، دائرة) بحيث يمكنك اختيار الأنسب لبياناتك. إذا كنت تحتاج إلى مزيد من التحكم (التخطيط، الأنماط)، يمكنك توفير قالب Excel الخاص بك لتوليد المخطط بناءً عليه.
XLSX-Chart هي حزمة Node.js خفيفة الوزن طوّرها دميتري سامورتسيف تمكّن مطوري البرمجيات من إنشاء مخططات Excel برمجيًا داخل تطبيقات Node.js. توفر لك طرقًا للكتابة مباشرة إلى ملف أو توليد بيانات ثنائية (للتنزيل عبر HTTP) وهو أمر مفيد في تطبيقات الويب. تُجرد المكتبة تعقيد التعامل مع تنسيق Open XML الخاص بـ Excel، لتقديم واجهة برمجة تطبيقات (API) بديهية لتوليد أنواع مختلفة من المخططات. سواء كنت تبني لوحات معلومات الذكاء التجاري، أو أنظمة تقارير تلقائية، أو أدوات تحليل بيانات، فإن XLSX-Chart تقدم حلًا بسيطًا لتوليد مخططات Excel. تجعل واجهتها البديهية، ودعمها لأنواع متعددة من المخططات، وخيارات الإخراج المرنة منها خيارًا ممتازًا للمطورين الذين يبنون أنظمة تقارير، أدوات ذكاء تجاري، أو تطبيقات تصور البيانات.
البدء مع XLSX-Chart
لتثبيت XLSX-Chart، يمكنك استخدام npm، مدير الحزم للغة JavaScript. يرجى استخدام الأوامر التالية لضمان تثبيت ناجح.
تثبيت XLSX-Chart عبر npm
npm install xlsx-chartيمكنك تنزيل المكتبة المشتركة المجمعة من مستودع GitHub وتثبيتها.
إنشاء مخطط عمودي بسيط في Node.js
تتضمن مكتبة XLSX-Chart المفتوحة المصدر دعمًا كاملاً لإنشاء مخططات بسيطة ومتقدمة في ورقة عمل Excel داخل تطبيقات Node.js. مثال الكود التالي ينشئ مخططًا عموديًا يقارن مبيعات الربع عبر أربعة منتجات. تمثل مصفوفة العناوين سلسلة البيانات (الأرباع)، بينما تمثل الحقول الفئات (المنتجات). يحتوي كائن البيانات على القيم الفعلية لكل تركيبة.
كيفية إنشاء مخطط Excel بسيط يظهر مبيعات الربع السنوي داخل Node.js؟
var XLSXChart = require("xlsx-chart");
var xlsxChart = new XLSXChart();
var opts = {
file: "sales-report.xlsx",
chart: "column",
titles: [
"Q1 Sales",
"Q2 Sales",
"Q3 Sales"
],
fields: [
"Product A",
"Product B",
"Product C",
"Product D"
],
data: {
"Q1 Sales": {
"Product A": 5,
"Product B": 10,
"Product C": 15,
"Product D": 20
},
"Q2 Sales": {
"Product A": 10,
"Product B": 5,
"Product C": 20,
"Product D": 15
},
"Q3 Sales": {
"Product A": 20,
"Product B": 15,
"Product C": 10,
"Product D": 5
}
}
};
xlsxChart.writeFile(opts, function(err) {
if (err) {
console.error("Error generating chart:", err);
} else {
console.log("Chart created successfully:", opts.file);
}
});
إنشاء مخططات متعددة في ملف واحد في Node.js
إحدى ميزات XLSX-Chart القوية هي توليد مخططات متعددة في دفتر عمل واحد داخل تطبيقات Node.js. تمكّن المكتبة مطوري البرمجيات من إنشاء مخططات بقيم مخصصة وعدة تصورات. يُظهر مثال الكود التالي كيف يمكن للمطورين إنشاء تقرير شامل بثلاثة أنواع مختلفة من المخططات. تسمح مصفوفة المخططات بتعريف تصورات متعددة، كل منها بإعداداته الخاصة. تُعطي خاصية chartTitle لكل مخطط اسمًا وصفيًا. هذا مفيد خصوصًا لوحات التحكم التنفيذية أو التقارير التحليلية المفصلة.
كيفية إنشاء مخططات متعددة في ملف واحد داخل تطبيقات Node.js؟
let fs = require("fs");
let XLSXChart = require("xlsx-chart");
let xlsxChart = new XLSXChart();
let opts = {
charts: [{
chart: "column",
titles: ["2023", "2024"],
fields: ["Jan", "Feb", "Mar", "Apr"],
data: {
"2023": {
"Jan": 100,
"Feb": 120,
"Mar": 140,
"Apr": 130
},
"2024": {
"Jan": 110,
"Feb": 135,
"Mar": 150,
"Apr": 145
}
},
chartTitle: "Monthly Performance Comparison"
}, {
chart: "line",
titles: ["Website Traffic", "Mobile Traffic"],
fields: ["Week 1", "Week 2", "Week 3", "Week 4"],
data: {
"Website Traffic": {
"Week 1": 5000,
"Week 2": 5500,
"Week 3": 6000,
"Week 4": 6200
},
"Mobile Traffic": {
"Week 1": 3000,
"Week 2": 3500,
"Week 3": 4200,
"Week 4": 4800
}
},
chartTitle: "Traffic Analysis"
}, {
chart: "pie",
titles: ["Market Share"],
fields: ["Company A", "Company B", "Company C", "Others"],
data: {
"Market Share": {
"Company A": 35,
"Company B": 28,
"Company C": 22,
"Others": 15
}
},
chartTitle: "Market Distribution"
}]
};
xlsxChart.generate(opts, function(err, data) {
if (err) {
console.error("Error:", err);
return;
}
fs.writeFileSync("comprehensive-report.xlsx", data);
console.log("Multi-chart report created successfully!");
});
require('fs').writeFileSync('inventory.xlsx', report);
توليد مخططات لتنزيلات الويب
تسهّل مكتبة XLSX-Chart المفتوحة المصدر على مطوري البرمجيات إنشاء مخططات يمكن تنزيلها بسهولة عبر تطبيقات الويب. إليك مثالًا قويًا يوضح توليد مخطط شريطي داخل مسار Express.js. تُعيد طريقة generate بيانات المخطط كـ buffer، ثم تُرسل إلى العميل مع رؤوس مناسبة للتنزيل. هذا النهج مثالي لتوليد تقارير ديناميكية دون إنشاء ملفات مؤقتة على الخادم.
كيفية إنشاء مخططات Excel لتنزيلات الويب داخل Node.js؟
var XLSXChart = require("xlsx-chart");
var xlsxChart = new XLSXChart();
// Express.js route example
app.get('/download-report', function(req, res) {
var opts = {
chart: "bar",
titles: ["Revenue", "Expenses", "Profit"],
fields: ["January", "February", "March", "April"],
data: {
"Revenue": {
"January": 50000,
"February": 55000,
"March": 60000,
"April": 58000
},
"Expenses": {
"January": 30000,
"February": 32000,
"March": 35000,
"April": 33000
},
"Profit": {
"January": 20000,
"February": 23000,
"March": 25000,
"April": 25000
}
}
};
xlsxChart.generate(opts, function(err, data) {
if (err) {
return res.status(500).send("Error generating chart");
}
res.set({
"Content-Type": "application/vnd.ms-excel",
"Content-Disposition": "attachment; filename=financial-report.xlsx",
"Content-Length": data.length
});
res.status(200).send(data);
});
});
استخدام قوالب مخصصة لإنشاء مخططات Excel
للمنظمات التي لديها متطلبات علامة تجارية محددة، توفر القوالب المخصصة تحكمًا كاملاً في إنشاء وإدارة مخططات Excel. يحدد خيار templatePath مسار ملف Excel مُنسق مسبقًا. ستستخدم XLSX-Chart هذا القالب كأساس، وتطبيق بياناتك مع الحفاظ على التنسيق المخصص، الألوان، الخطوط، والتخطيطات. لاحظ أن القوالب المخصصة تعمل حاليًا بشكل أفضل مع المخططات العمودية. يوضح الكود التالي كيفية تحقيق ذلك.
كيفية إنشاء مخططات Excel عبر قوالب مخصصة داخل Node.js؟
var XLSXChart = require("xlsx-chart");
var xlsxChart = new XLSXChart();
var opts = {
file: "branded-report.xlsx",
chart: "column",
templatePath: __dirname + "/templates/company-template.xlsx",
titles: ["Sales Team A", "Sales Team B"],
fields: ["Q1", "Q2", "Q3", "Q4"],
data: {
"Sales Team A": {
"Q1": 45000,
"Q2": 52000,
"Q3": 58000,
"Q4": 61000
},
"Sales Team B": {
"Q1": 42000,
"Q2": 48000,
"Q3": 55000,
"Q4": 59000
}
}
};
xlsxChart.writeFile(opts, function(err) {
if (err) {
console.error("Template error:", err);
} else {
console.log("Branded report created!");
}
});