Безкоштовна бібліотека 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. Її інтуїтивний API, підтримка багатьох типів діаграм і гнучкі параметри виводу роблять її відмінним вибором для розробників, які створюють звітні системи, інструменти бізнес‑інтелекту або додатки для візуалізації даних.
Початок роботи з XLSX-Chart
Щоб встановити XLSX-Chart, ви можете використати npm, менеджер пакетів для JavaScript. Будь ласка, використайте наведені нижче команди для успішної інсталяції.
Встановити XLSX-Chart через npm
npm install xlsx-chartВи можете завантажити скомпільовану спільну бібліотеку з репозиторію GitHub та встановити її.
Створення простої стовпчикової діаграми у Node.js
Бібліотека з відкритим кодом XLSX-Chart включає повну підтримку створення простих та складних діаграм у Excel‑листах всередині Node.js‑додатків. Наступний приклад коду створює стовпчикову діаграму, що порівнює квартальні продажі чотирьох продуктів. Масив titles представляє серії даних (квартали), а fields – категорії (продукти). Об’єкт data містить фактичні значення для кожної комбінації.
Як створити просту діаграму 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‑додатків. Бібліотека дозволяє розробникам створювати діаграми з користувацькими даними та декількома візуалізаціями. У наведеному прикладі коду показано, як розробники можуть створити комплексний звіт з трьома різними типами діаграм. Масив charts дозволяє визначати кілька візуалізацій, кожна зі своєю конфігурацією. Властивість 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 повертає дані діаграми у вигляді буфера, який потім надсилається клієнту з відповідними заголовками для завантаження. Такий підхід ідеально підходить для динамічного створення звітів без необхідності створювати тимчасові файли на сервері.
Як створити діаграми 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!");
}
});