Biblioteca Node.js Gratuita para Criar Múltiplos Gráficos Excel
Principal Biblioteca Node.js de Código Aberto para gerar gráficos simples e avançados em planilhas Excel. Cria múltiplos gráficos em um único arquivo, gráficos para downloads web e gráficos a partir de um modelo dentro do Node.js.
O que é XLSX-Chart?
Se você trabalha com Node.js e precisa gerar arquivos Excel com gráficos incorporados, o pacote de código aberto XLSX-Chart é uma ótima opção a considerar. Muitas bibliotecas permitem gerar planilhas Excel, definir valores de célula, etc., mas menos suportam gráficos/plotagens incorporados no XLSX. O XLSX-Chart preenche essa lacuna. A API é bastante direta — você especifica o tipo de gráfico, títulos, campos, dados e então grava o arquivo. Ele suporta vários tipos (coluna, barra, linha, área, radar, dispersão, pizza) para que você possa escolher o que melhor se adapta aos seus dados. Se precisar de mais controle (layout, estilos), pode fornecer seu próprio modelo Excel como base para a geração do gráfico.
XLSX-Chart é um pacote leve de Node.js desenvolvido por Dmitriy Samortsev que permite que desenvolvedores criem gráficos Excel programaticamente dentro de aplicativos Node.js. Ele fornece métodos para escrever diretamente em um arquivo ou gerar dados binários (para download via HTTP), o que é útil em aplicações web. A biblioteca abstrai a complexidade de trabalhar com o formato Open XML do Excel, fornecendo uma API intuitiva para gerar vários tipos de gráficos. Seja construindo painéis de business intelligence, sistemas de relatórios automatizados ou ferramentas de análise de dados, o XLSX-Chart oferece uma solução simples para a geração de gráficos Excel. Sua API intuitiva, suporte a múltiplos tipos de gráficos e opções flexíveis de saída o tornam uma excelente escolha para desenvolvedores que criam sistemas de relatórios, ferramentas de business intelligence ou aplicações de visualização de dados.
Começando com XLSX-Chart
Para instalar o XLSX-Chart, você pode usar o npm, o gerenciador de pacotes para JavaScript. Por favor, use os comandos abaixo para uma instalação bem‑sucedida.
Instalar XLSX-Chart via npm
npm install xlsx-chartVocê pode baixar a biblioteca compartilhada compilada do repositório no GitHub e instalá‑la.
Criando um Gráfico de Coluna Simples no Node.js
A biblioteca open source XLSX-Chart inclui suporte completo para criar diagramas simples e avançados em planilhas Excel dentro de aplicações Node.js. O exemplo de código a seguir cria um diagrama de colunas comparando as vendas trimestrais de quatro produtos. O array titles representa a série de dados (trimestres), enquanto fields representa as categorias (produtos). O objeto data contém os valores reais para cada combinação.
Como criar um gráfico simples no Excel mostrando as vendas trimestrais dentro do 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);
}
});
Criar Múltiplos Gráficos em um Arquivo no Node.js
Um dos recursos poderosos do XLSX-Chart é gerar vários diagramas em uma única pasta de trabalho dentro de aplicações Node.js. A biblioteca permite que desenvolvedores criem diagramas com valores personalizados e múltiplas visualizações. O exemplo de código a seguir mostra como os desenvolvedores podem criar um relatório abrangente com três tipos diferentes de diagramas. O array charts permite definir várias visualizações, cada uma com sua própria configuração. A propriedade chartTitle fornece a cada diagrama um nome descritivo. Isso é particularmente útil para dashboards executivos ou relatórios analíticos detalhados.
Como criar vários gráficos em um único arquivo dentro de aplicativos 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);
Gerando Gráficos para Downloads Web
A biblioteca open source XLSX-Chart facilita a geração de diagramas que podem ser baixados facilmente via aplicações web. Aqui está um exemplo poderoso que demonstra a geração de um diagrama de barras dentro de uma rota Express.js. O método generate retorna os dados do diagrama como um buffer, que é então enviado ao cliente com os cabeçalhos apropriados para download. Essa abordagem é ideal para geração dinâmica de relatórios sem criar arquivos temporários no servidor.
Como criar gráficos do Excel para download na web dentro do 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);
});
});
Usar Modelos Personalizados para Criar Gráficos Excel
Para organizações com requisitos específicos de identidade visual, modelos personalizados oferecem controle total para criar e gerenciar gráficos do Excel. A opção templatePath aponta para um arquivo Excel pré-formatado. O XLSX-Chart usará esse modelo como base, aplicando seus dados enquanto preserva formatação, cores, fontes e layout personalizados. Observe que modelos personalizados atualmente funcionam melhor com gráficos de colunas. O código a seguir demonstra como fazer isso.
Como criar gráficos do Excel via modelos personalizados dentro do 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!");
}
});