Trabalhando com Excel em TypeScript: bibliotecas, exemplos 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 TypeScript: bibliotecas, exemplos e ferramentas



TypeScript é uma linguagem poderosa para desenvolvimento de aplicações web, e frequentemente surge a necessidade de trabalhar programaticamente com arquivos Excel: ler relatórios, gerar planilhas, exportar dados. Neste artigo, vamos explorar as três principais bibliotecas para trabalhar com Excel em TypeScript, suas capacidades e fornecer exemplos práticos.



1. Principais bibliotecas para trabalhar com Excel em TypeScript



Existem várias soluções populares, cada uma com seus pontos fortes:



  • ExcelJS — a biblioteca mais popular para ler, escrever e estilizar arquivos Excel. Suporta .xlsx, .xlsm, .csv, além de trabalhar com fórmulas, formatação condicional e imagens.
  • xlsx (SheetJS) — uma biblioteca leve e rápida para operações básicas: leitura e escrita de dados tabulares. Ideal para tarefas simples.
  • excel4node — biblioteca para criar arquivos Excel com foco em desempenho e suporte a estilos.


2. Instalação e configuração



Para instalar a biblioteca escolhida, use o npm. Vamos instalar o ExcelJS e o xlsx:



npm install exceljsnpm install xlsx


Para TypeScript, instale também os tipos (para xlsx eles já estão embutidos):



npm install @types/exceljs --save-devnpm install @types/node --save-dev


3. Trabalhando com Excel via ExcelJS



3.1 Criando e escrevendo um arquivo



Vamos criar um novo arquivo Excel com cabeçalhos e dados:



import * as ExcelJS from 'exceljs';

async function createExcel() { const workbook = new ExcelJS.Workbook(); const worksheet = workbook.addWorksheet('Dados');

// Definindo colunas worksheet.columns = [ { header: 'Nome', key: 'name', width: 25 }, { header: 'Idade', key: 'age', width: 10 }, { header: 'Cidade', key: 'city', width: 20 } ];

// Adicionando linhas worksheet.addRow({ name: 'Ana', age: 28, city: 'Moscou' }); worksheet.addRow({ name: 'Ivan', age: 35, city: 'São Petersburgo' }); worksheet.addRow({ name: 'Olga', age: 22, city: 'Kazan' });

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

// Salvando o arquivo await workbook.xlsx.writeFile('exemplo.xlsx'); console.log('Arquivo criado');}

createExcel();


3.2 Lendo um arquivo existente



Vamos ler os dados do arquivo criado anteriormente:



async function readExcel() {  const workbook = new ExcelJS.Workbook();  await workbook.xlsx.readFile('exemplo.xlsx');

const worksheet = workbook.getWorksheet('Dados'); if (!worksheet) return;

worksheet.eachRow((row, rowNumber) => { const rowData = row.values as any[]; console.log(`Linha ${rowNumber}: ${rowData.join(', ')}`); });}

readExcel();


4. Trabalhando com Excel via xlsx (SheetJS)



4.1 Lendo dados



A biblioteca xlsx permite ler rapidamente os dados de um arquivo:



import * as XLSX from 'xlsx';

function readXlsxFile(filePath: string) { const workbook = XLSX.readFile(filePath); const sheetName = workbook.SheetNames[0]; const worksheet = workbook.Sheets[sheetName]; const data = XLSX.utils.sheet_to_json(worksheet); console.log(data);}

readXlsxFile('exemplo.xlsx');


4.2 Criando e escrevendo



Vamos criar um arquivo Excel simples a partir de um array de objetos:



function createXlsx() {  const data = [    { Name: 'Ana', Age: 28, City: 'Moscou' },    { Name: 'Ivan', Age: 35, City: 'SP' }  ];

const worksheet = XLSX.utils.json_to_sheet(data); const workbook = XLSX.utils.book_new(); XLSX.utils.book_append_sheet(workbook, wor

Recommendations