Trabalhando com Excel em JavaScript (Node.js): bibliotecas e ferramentas

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Trabalhando com Excel em JavaScript (Node.js)



O desenvolvimento web moderno frequentemente requer interação programática com planilhas eletrônicas. Exportação de relatórios, importação de dados de sistemas contábeis, processamento de grandes volumes de informação — tudo isso torna o trabalho com Excel em Node.js uma tarefa essencial. Neste artigo, vamos explorar as três bibliotecas mais populares para trabalhar com o formato XLSX: xlsx, exceljs e excel4node. Você aprenderá como instalar cada uma delas, criar, editar e ler arquivos Excel.



Biblioteca xlsx (SheetJS)



xlsx é a biblioteca mais popular e leve para trabalhar com planilhas em Node.js. Ela suporta não apenas XLSX, mas também XLS, CSV, ODS e outros formatos. A principal vantagem é a simplicidade da API e a alta velocidade de processamento.



Instalação:

npm install xlsx


Exemplo: criando e escrevendo um arquivo Excel

const XLSX = require('xlsx');

// Criando uma planilha com dadosconst data = [ { Nome: 'Ana', Idade: 28, Cidade: 'Moscou' }, { Nome: 'Ivan', Idade: 35, Cidade: 'São Petersburgo' }, { Nome: 'Olga', Idade: 22, Cidade: 'Kazan' }];

const worksheet = XLSX.utils.json_to_sheet(data);const workbook = XLSX.utils.book_new();XLSX.utils.book_append_sheet(workbook, worksheet, 'Funcionários');

// Salvando o arquivoXLSX.writeFile(workbook, 'employees.xlsx');console.log('Arquivo employees.xlsx criado!');


Exemplo: lendo um arquivo existente

const workbook = XLSX.readFile('employees.xlsx');const sheetName = workbook.SheetNames[0];const worksheet = workbook.Sheets[sheetName];const jsonData = XLSX.utils.sheet_to_json(worksheet);

console.log('Dados do arquivo:', jsonData);


Vantagens:

  • Tamanho mínimo (cerca de 50 KB compactado)
  • Suporte a múltiplos formatos (XLSX, XLS, CSV, ODS)
  • API simples para conversão JSON ↔ planilha


Desvantagens:

  • Recursos limitados de formatação (estilos, fontes, cores)
  • Dificuldades com células mescladas e fórmulas complexas


Biblioteca exceljs



exceljs é uma biblioteca avançada para trabalhar com arquivos XLSX. Ela oferece controle total sobre a formatação: você pode gerenciar fontes, cores, bordas, células mescladas, formatação condicional e até adicionar imagens.



Instalação:

npm install exceljs


Exemplo: criando um relatório formatado

const ExcelJS = require('exceljs');

async function createReport() { const workbook = new ExcelJS.Workbook(); const worksheet = workbook.addWorksheet('Relatório');

// Definindo colunas worksheet.columns = [ { header: 'Produto', key: 'product', width: 20 }, { header: 'Quantidade', key: 'quantity', width: 15 }, { header: 'Preço', key: 'price', width: 15 } ];

// Adicionando dados worksheet.addRow({ product: 'Notebook', quantity: 10, price: 75000 }); worksheet.addRow({ product: 'Mouse', quantity: 50, price: 1500 });

// Formatação do cabeçalho const headerRow = worksheet.getRow(1); headerRow.font = { bold: true, color: { argb: 'FFFFFFFF' } }; headerRow.fill = { type: 'pattern', pattern: 'solid', fgColor: { argb: 'FF4472C4' } };

// Formatação das células de preço const priceColumn = worksheet.getColumn(3); priceColumn.numFmt = '#,##0.00';

// Salvando await workbook.xlsx.writeFile('report.xlsx'); console.log('Relatório criado com formatação!');}

createReport();


Exemplo: lendo e modificando um arquivo

const workbook = new ExcelJS.Workbook();await workbook.xlsx.readFile('report.xlsx');const worksheet = w                    

Recommendations