ExcelJS para JavaScript (Node.js): Guia Completo para Criar e Analisar Arquivos Excel
1. O que é ExcelJS e por que usar?
ExcelJS é uma biblioteca poderosa e flexível para JavaScript, projetada para trabalhar com planilhas nos formatos Excel (XLSX, XLSM, CSV e outros). Ela funciona tanto no ambiente Node.js quanto no navegador (através de bundlers como Webpack ou Browserify). O ExcelJS permite que desenvolvedores criem, leiam, modifiquem e analisem arquivos Excel programaticamente, sem precisar do Microsoft Excel instalado.
Por que usar ExcelJS? No desenvolvimento web moderno e na automação de processos de negócios, o Excel continua sendo um dos formatos mais populares para troca de dados. Relatórios, exportações de bancos de dados, documentos financeiros, listas de preços, estatísticas — tudo isso frequentemente precisa ser exportado para Excel. A biblioteca ExcelJS oferece um conjunto completo de ferramentas para essas tarefas: desde a criação de uma tabela simples até relatórios complexos com células mescladas, estilos, fórmulas, gráficos e formatação condicional. Além disso, ela consegue analisar (ler) arquivos Excel existentes, permitindo automatizar a importação de dados de planilhas.
Principais vantagens do ExcelJS em relação a alternativas (como xlsx do SheetJS):
- Suporte a estilos: cores, fontes, bordas, alinhamento, preenchimento.
- Trabalho com fórmulas: leitura e escrita de fórmulas.
- Formatação condicional: alterar a aparência das células com base em seus valores.
- Gráficos: criação de gráficos e diagramas.
- Imagens: inserção de imagens nas planilhas.
- Processamento em streaming: trabalhar com arquivos grandes sem carregar tudo na memória.
- Suporte ativo: a biblioteca é atualizada regularmente e possui uma grande comunidade.
2. Instalação
A instalação do ExcelJS em um projeto Node.js é feita com o gerenciador de pacotes npm. Abra o terminal na pasta raiz do seu projeto e execute o comando:
npm install exceljs
Após a instalação, você pode importar a biblioteca no seu código:
const ExcelJS = require('exceljs');
Se você estiver usando ES modules (sintaxe moderna import/export), certifique-se de que seu package.json tenha a flag "type": "module", ou use a extensão de arquivo .mjs:
import ExcelJS from 'exceljs';
3. Primeiros passos — exemplo mínimo funcional
Vamos criar um arquivo Excel simples com uma tabela e salvá-lo no disco. Este exemplo demonstra as etapas principais: criar uma pasta de trabalho, adicionar uma planilha, escrever dados e salvar.
const ExcelJS = require('exceljs');
async function criarExcelSimples() {
// 1. Criar uma nova pasta de trabalho
const workbook = new ExcelJS.Workbook();
// 2. Adicionar uma planilha com o nome "Meus Dados"
const worksheet = workbook.addWorksheet('Meus Dados');
// 3. Definir as colunas (cabeçalhos)
worksheet.columns = [
{ header: 'ID', key: 'id', width: 10 },
{ header: 'Nome', key: 'name', width: 30 },
{ header: 'Idade', key: 'age', width: 10 },
{ header: 'Cidade', key: 'city', width: 20 }
];
// 4. Adicionar linhas com dados
worksheet.addRow({ id: 1, name: 'Ana Silva', age: 28, city: 'São Paulo' });
worksheet.addRow({ id: 2, name: 'Pedro Santos', age: 35, city: 'Rio de Janeiro' });
worksheet.addRow({ id: 3, name: 'Elena Costa', age: 22, city: 'Belo Horizonte' });
// 5. Salvar a pasta de trabalho em um arquivo
await workbook.xlsx.writeFile('output.xlsx');
console.log('Arquivo output.xlsx criado com sucesso!');
} Também na biblioteca
Actix-web para Rust: guia completo com exemplos
Axios — Cliente HTTP para JavaScript (Node.js)
Monitoramento de aplicações TypeScript: bibliotecas, ferramentas e configuração