Trabalhando com Excel em JavaScript (Node.js): bibliotecas e exemplos de código

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 de código



Apesar de o PythonLib ser dedicado à linguagem Python, o trabalho com planilhas Excel também é frequentemente necessário no ambiente Node.js. JavaScript (especialmente no lado do servidor) é ativamente usado para automação de relatórios, importação de dados de sistemas CRM e geração de listas de preços. Neste artigo, vamos analisar as três principais bibliotecas para trabalhar com Excel em Node.js, suas funcionalidades e fornecer exemplos práticos de código.



Por que Node.js para Excel?

Node.js é a escolha ideal para microsserviços e scripts que processam grandes volumes de dados. As bibliotecas para Excel permitem:

  • Ler arquivos .xlsx e .xls existentes.
  • Criar novas planilhas do zero.
  • Formatar células (cores, fontes, bordas).
  • Trabalhar com fórmulas, estilos e células mescladas.
  • Exportar dados para CSV.


Top 3 bibliotecas para Excel em Node.js



1. ExcelJS — a mais funcional

ExcelJS é uma biblioteca poderosa com suporte completo ao formato xlsx. Ela permite trabalhar com streams, o que é crítico para arquivos grandes. Suporta estilos, formatação condicional, gráficos e proteção de planilhas.

Instalação:

npm install exceljs


Exemplo 1: Lendo um arquivo existente

const ExcelJS = require('exceljs');

async function readExcel(filePath) { const workbook = new ExcelJS.Workbook(); await workbook.xlsx.readFile(filePath); const worksheet = workbook.getWorksheet(1); // Primeira planilha worksheet.eachRow((row, rowNumber) => { console.log(`Linha ${rowNumber}: ${row.values.join(', ')}`); });}

readExcel('data.xlsx');


Exemplo 2: Criando um arquivo com formatação

const ExcelJS = require('exceljs');

async function createStyledExcel() { const workbook = new ExcelJS.Workbook(); const sheet = workbook.addWorksheet('Relatório'); // Cabeçalho com fonte em negrito e preenchimento const headerRow = sheet.getRow(1); headerRow.values = ['Nome', 'Idade', 'Cidade']; headerRow.font = { bold: true, size: 12 }; headerRow.fill = { type: 'pattern', pattern: 'solid', fgColor: { argb: 'FFFF00' } // Fundo amarelo }; // Dados sheet.addRow(['Ana', 28, 'Moscou']); sheet.addRow(['Ivan', 35, 'São Petersburgo']); // Largura das colunas sheet.getColumn(1).width = 15; sheet.getColumn(2).width = 10; await workbook.xlsx.writeFile('output.xlsx'); console.log('Arquivo criado!');}

createStyledExcel();


2. xlsx (SheetJS) — leve e rápido

A biblioteca xlsx (também conhecida como SheetJS) é o "cavalo de batalha" para operações simples. Ela não suporta formatação avançada, mas lida muito bem com leitura/escrita de dados. Suporta os formatos xlsx, xls, csv, ods.

Instalação:

npm install xlsx


Exemplo 3: Lendo e convertendo para JSON

const XLSX = require('xlsx');

function readToJSON(filePath) { const workbook = XLSX.readFile(filePath); const sheetName = workbook.SheetNames[0]; const sheet = workbook.Sheets[sheetName]; // Converte a planilha em um array de objetos const data = XLSX.utils.sheet_to_json(sheet); console.log(data);}

readToJSON('data.xlsx');


Exemplo 4: Escrevendo um array de dados

const XLSX = require('xlsx');

function writeFromArray() { const data = [ { Name: 'Olga', Age: 30, City: 'Kazan' }, { Name: 'Pedro', Age: 42, City: 'Ecaterimburgo' } ]; const worksheet = XLSX.utils.json_to_sheet(data); const workbook = XLSX.utils.book_new(); XLSX.utils

Recommendations