Libreria Node.js gratuita per creare più grafici Excel
Libreria Node.js Open Source di punta per generare grafici semplici e avanzati in un foglio di lavoro Excel. Crea più grafici in un unico file, grafici per download web e grafico da un modello all'interno di Node.js.
Cos'è XLSX-Chart?
Se lavori con Node.js e hai bisogno di generare file Excel con grafici incorporati, il pacchetto open source XLSX-Chart è un'ottima opzione da considerare. Molte librerie consentono di generare fogli di lavoro Excel, impostare i valori delle celle, ecc., ma poche supportano grafici/incorporati nei file XLSX. XLSX-Chart colma questa lacuna. L'API è piuttosto semplice — specifichi il tipo di grafico, i titoli, i campi, i dati e poi scrivi il file. Supporta diversi tipi (colonna, barra, linea, area, radar, dispersione, torta) così puoi scegliere quello più adatto ai tuoi dati. Se hai bisogno di più controllo (layout, stili), puoi fornire un tuo modello Excel su cui basare la generazione del grafico.
XLSX-Chart è un pacchetto Node.js leggero sviluppato da Dmitriy Samortsev che consente agli sviluppatori software di creare grafici Excel programmaticamente all'interno di app Node.js. Offre metodi per scrivere direttamente su un file o generare dati binari (per il download via HTTP), molto utile nelle applicazioni web. La libreria astrae la complessità del formato Open XML di Excel, fornendo un'API intuitiva per generare vari tipi di grafico. Che tu stia costruendo dashboard di business intelligence, sistemi di reportistica automatizzati o strumenti di analisi dati, XLSX-Chart offre una soluzione semplice per la generazione di grafici Excel. La sua API intuitiva, il supporto per più tipologie di grafico e le opzioni di output flessibili la rendono una scelta eccellente per sviluppatori che creano sistemi di reporting, strumenti di business intelligence o applicazioni di visualizzazione dati.
Guida introduttiva a XLSX-Chart
Per installare XLSX-Chart, è possibile utilizzare npm, il gestore di pacchetti per JavaScript. Si prega di utilizzare i comandi seguenti per un'installazione riuscita.
Installa XLSX-Chart via npm
npm install xlsx-chartPuoi scaricare la libreria condivisa compilata dal repository GitHub e installarla.
Creare un grafico a colonne semplice in Node.js
La libreria open source XLSX-Chart include un supporto completo per la creazione di grafici semplici e avanzati in un foglio di lavoro Excel all'interno di applicazioni Node.js. L'esempio di codice seguente crea un grafico a colonne che confronta le vendite trimestrali di quattro prodotti. L'array dei titoli rappresenta le serie di dati (trimestri), mentre i campi rappresentano le categorie (prodotti). L'oggetto dati contiene i valori effettivi per ogni combinazione.
Come creare un grafico Excel semplice che mostri le vendite trimestrali in 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);
}
});
Creare più grafici in un unico file in Node.js
Una delle potenti funzionalità di XLSX-Chart è la capacità di generare più grafici in un unico workbook all'interno di applicazioni Node.js. La libreria consente agli sviluppatori di creare grafici con valori personalizzati e più visualizzazioni. L'esempio di codice seguente mostra come gli sviluppatori possano creare un report completo con tre diversi tipi di grafico. L'array dei grafici permette di definire più visualizzazioni, ognuna con la propria configurazione. La proprietà chartTitle assegna a ciascun grafico un nome descrittivo. Questo è particolarmente utile per dashboard esecutivi o report analitici dettagliati.
Come creare più grafici in un unico file nelle app 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);
Generare grafici per download web
La libreria open source XLSX-Chart facilita gli sviluppatori nella generazione di grafici che possono essere facilmente scaricati tramite applicazioni web. Ecco un esempio potente che dimostra la generazione di un grafico a barre all'interno di una route Express.js. Il metodo generate restituisce i dati del grafico come buffer, che viene poi inviato al client con le intestazioni appropriate per il download. Questo approccio è ideale per la generazione dinamica di report senza creare file temporanei sul server.
Come creare grafici Excel per download web in 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);
});
});
Utilizzare modelli personalizzati per creare grafici Excel
Per le organizzazioni con requisiti di branding specifici, i template personalizzati offrono il controllo completo per creare e gestire grafici Excel. L'opzione templatePath punta a un file Excel preformattato. XLSX-Chart utilizzerà questo template come base, applicando i tuoi dati e preservando la formattazione, i colori, i caratteri e i layout personalizzati. Nota che i template personalizzati al momento funzionano meglio con i grafici a colonne. Il codice seguente dimostra come ottenerlo.
Come creare grafici Excel tramite modelli personalizzati in 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!");
}
});