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

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): visão geral das bibliotecas e exemplos práticos



Apesar de o PythonLib ser dedicado à linguagem Python, no desenvolvimento web moderno surge frequentemente a necessidade de processar planilhas Excel no lado do servidor usando Node.js. JavaScript (Node.js) é um ambiente poderoso para criar aplicações server-side, e trabalhar com planilhas eletrônicas é uma das tarefas requisitadas. Neste artigo, veremos três bibliotecas principais para trabalhar com Excel em Node.js: node-xlsx (xlsx), exceljs e excel4node, além de apresentar exemplos de uso.



Por que trabalhar com Excel em Node.js?

No lado do servidor, frequentemente é necessário:

  • Gerar relatórios no formato XLSX para download pelos usuários;
  • Importar dados de arquivos Excel carregados para o banco de dados;
  • Processar automaticamente listas de preços, tabelas de controle e outros documentos;
  • Criar relatórios complexos com formatação, gráficos e estilos.

O Node.js lida muito bem com essas tarefas, oferecendo várias bibliotecas especializadas.



Biblioteca xlsx (SheetJS)

SheetJS (pacote xlsx) é a biblioteca mais popular e madura para trabalhar com Excel em JavaScript. Ela suporta leitura e escrita de vários formatos: XLSX, XLS, CSV, ODS e outros. A principal vantagem é a simplicidade e velocidade.



Instalação

npm install xlsx


Exemplo: criar e salvar um arquivo Excel

const XLSX = require('xlsx');

// Cria uma nova pasta de trabalhoconst workbook = XLSX.utils.book_new();

// Dados para a tabelaconst data = [ ['Nome', 'Idade', 'Cidade'], ['Ana', 28, 'Moscou'], ['Ivan', 35, 'São Petersburgo'], ['Maria', 22, 'Kazan']];

// Converte o array em uma planilhaconst worksheet = XLSX.utils.aoa_to_sheet(data);

// Adiciona a planilha à pasta de trabalhoXLSX.utils.book_append_sheet(workbook, worksheet, 'Usuários');

// Escreve o arquivo no discoXLSX.writeFile(workbook, 'users.xlsx');console.log('Arquivo users.xlsx criado!');


Exemplo: ler um arquivo existente

const XLSX = require('xlsx');

const workbook = XLSX.readFile('users.xlsx');const sheetName = workbook.SheetNames[0]; // Pega a primeira planilhaconst worksheet = workbook.Sheets[sheetName];

// Converte a planilha em um array de objetosconst jsonData = XLSX.utils.sheet_to_json(worksheet);console.log(jsonData);


Biblioteca exceljs

ExcelJS é uma biblioteca mais moderna e funcional. Ela oferece recursos avançados de formatação: estilos de célula, fontes, cores, mesclagem de células, formatação condicional, trabalho com imagens e gráficos. Suporta streams para trabalhar com arquivos grandes.



Instalação

npm install exceljs


Exemplo: criar um relatório formatado

const ExcelJS = require('exceljs');

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

// Define as colunas sheet.columns = [ { header: 'Produto', key: 'product', width: 30 }, { header: 'Preço', key: 'price', width: 15 }, { header: 'Quantidade', key: 'quantity', width: 15 } ];

// Adiciona dados sheet.addRow({ product: 'Notebook', price: 75000, quantity: 10 }); sheet.addRow({ product: 'Mouse', price: 1500, quantity: 50 }); sheet.addRow({ product: 'Teclado', price: 3500, quantity: 30 });

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

// Alinhamento headerRow.alignment = { vertical: 'middle', horizontal: 'ce

Recommendations