Gratis Node.js‑bibliotek för att skapa flera Excel‑diagram
Topp‑öppet källkods‑Node.js‑bibliotek för att generera enkla och avancerade diagram i ett Excel‑arbetsblad. Det skapar flera diagram i en fil, diagram för webbnedladdningar och diagram från en mall i Node.js.
Vad är XLSX-Chart?
Om du arbetar i Node.js och behöver generera Excel‑filer med inbäddade diagram, är det öppna källkodspaketet XLSX-Chart ett mycket bra alternativ att överväga. Många bibliotek låter dig skapa Excel‑arbetsblad, sätta cellvärden osv., men färre stödjer diagram/grafer inbäddade i XLSX. XLSX-Chart fyller det hålet. API‑et är ganska enkelt – du specificerar diagramtyp, titlar, fält, data och skriver sedan filen. Det stödjer flera typer (kolumn, stapel, linje, område, radar, spridning, cirkel) så du kan välja vad som bäst passar dina data. Om du behöver mer kontroll (layout, stilar) kan du tillhandahålla din egen Excel‑mall att basera diagramgenereringen på.
XLSX-Chart är ett lättviktigt Node.js‑paket utvecklat av Dmitriy Samortsev som låter mjukvaruutvecklare skapa Excel‑diagram programatiskt i Node.js‑appar. Det ger dig metoder för att skriva direkt till en fil eller generera binär data (för nedladdning via HTTP) vilket är praktiskt i webbapplikationer. Biblioteket abstraherar komplexiteten i att arbeta med Excels Open XML‑format och erbjuder ett intuitivt API för att skapa olika diagramtyper. Oavsett om du bygger affärsintelligens‑dashboards, automatiserade rapporteringssystem eller dataanalysverktyg, så erbjuder XLSX-Chart en enkel lösning för att generera Excel‑diagram. Dess intuitiva API, stöd för flera diagramtyper och flexibla utmatningsalternativ gör det till ett utmärkt val för utvecklare som bygger rapporteringssystem, affärsintelligensverktyg eller datavisualiseringsapplikationer.
Kom igång med XLSX-Chart
För att installera XLSX-Chart kan du använda npm, paketshanteraren för JavaScript. Använd följande kommandon för en lyckad installation.
Installera XLSX-Chart via npm
npm install xlsx-chartDu kan ladda ner det kompilerade delade biblioteket från GitHub-repot och installera det.
Skapa ett enkelt stapeldiagram i Node.js
Det öppna källkods‑biblioteket XLSX-Chart har inkluderat fullständigt stöd för att skapa enkla och avancerade diagram i ett Excel‑arbetsblad i Node.js‑applikationer. Följande kodexempel skapar ett stapeldiagram som jämför kvartalsförsäljning över fyra produkter. Titlar‑arrayen representerar dataserierna (kvartal), medan fält representerar kategorierna (produkter). Data‑objektet innehåller de faktiska värdena för varje kombination.
Hur skapar man ett enkelt Excel‑diagram som visar kvartalsförsäljning i 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);
}
});
Skapa flera diagram i en fil i Node.js
En av XLSX-Charts kraftfulla funktioner är att generera flera diagram i en enda arbetsbok i Node.js‑applikationer. Biblioteket möjliggör för mjukvaruutvecklare att skapa diagram med anpassade värden och flera visualiseringar. Följande kodexempel visar hur utvecklare kan skapa en omfattande rapport med tre olika diagramtyper. Diagram‑arrayen låter dig definiera flera visualiseringar, var och en med sin egen konfiguration. Egenskapen chartTitle ger varje diagram ett beskrivande namn. Detta är särskilt användbart för executive‑dashboards eller detaljerade analytiska rapporter.
Hur skapar man flera diagram i en fil i Node.js‑appar?
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);
Generera diagram för webbnedladdningar
Det öppna källkods‑biblioteket XLSX-Chart gör det enkelt för mjukvaruutvecklare att generera diagram som enkelt kan laddas ner via en webbapplikation. Här är ett kraftfullt exempel som demonstrerar hur man genererar ett stapeldiagram inom en Express.js‑rutt. Metoden generate returnerar diagramdata som en buffer, som sedan skickas till klienten med lämpliga headers för nedladdning. Detta tillvägagångssätt är idealiskt för dynamisk rapportgenerering utan att skapa temporära filer på servern.
Hur skapar man Excel‑diagram för webbnedladdningar i 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);
});
});
Använd anpassade mallar för att skapa Excel‑diagram
För organisationer med specifika varumärkeskrav ger anpassade mallar full kontroll för att skapa och hantera Excel‑diagram. Alternativet templatePath pekar på en förformaterad Excel‑fil. XLSX-Chart använder denna mall som grund, applicerar dina data samtidigt som anpassad formatering, färger, typsnitt och layouter bevaras. Observera att anpassade mallar för närvarande fungerar bäst med stapeldiagram. Följande kod demonstrerar hur man uppnår detta.
Hur skapar man Excel‑diagram via anpassade mallar i 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!");
}
});