Biblioteca JavaScript para exportar tabelas HTML para arquivos Excel (.xlsx)
npm install html-table-excel-exporterUma biblioteca JavaScript simples para exportar tabelas HTML para arquivos Excel (.xlsx) sem dependências externas.


bash
npm install html-table-excel-exporter
`$3
`html
`Uso
`javascript
// Importar a biblioteca (se estiver usando módulos)
import { exportTableToExcel } from 'table-excel-exporter';// Ou usar diretamente se incluída via CDN
const exporter = exportTableToExcel();
// Configurar a tabela a ser exportada
const minhaTabela = document.getElementById('minhaTabela');
exporter.setTable(minhaTabela);
// Configurar o nome do arquivo (opcional)
exporter.setFileName('meus-dados');
// Método 1: Exportar diretamente
document.getElementById('btnExportar').addEventListener('click', () => {
exporter.download();
});
// Método 2: Configurar um botão para iniciar o download
const btnExportar = document.getElementById('btnExportar');
exporter.setBtnAction(btnExportar);
// Alterar o texto exibido durante o download (opcional)
exporter.setLoadingContent('Gerando Excel...');
`Exemplo Completo
`html
Exportar Tabela para Excel
Nome
Email
Telefone
João Silva
joao@exemplo.com
(11) 98765-4321
Maria Souza
maria@exemplo.com
(21) 91234-5678
`API
$3
Inicializa o exportador e retorna um objeto com os seguintes métodos:####
setTable(tabela)
Define a tabela HTML que será exportada para Excel.
- tabela: Elemento HTML da tabela a ser exportada (obrigatório)####
setFileName(nome)
Define o nome do arquivo Excel a ser gerado.
- nome: String com o nome do arquivo sem extensão (padrão: 'relatorio')####
setBtnAction(botao)
Configura um botão para iniciar o download quando clicado.
- botao: Elemento HTML do botão####
setLoadingContent(texto)
Define o texto exibido no botão durante o download.
- texto: String com o texto (padrão: 'Baixando...')####
download()`- A biblioteca exporta o HTML da tabela para um formato que o Excel pode abrir, mas não cria um arquivo XLSX nativo.
- Estilos CSS da tabela não são preservados no arquivo Excel.
- Para tabelas muito grandes, considere usar uma biblioteca mais robusta como SheetJS.
Contribuições são bem-vindas! Por favor, abra uma issue ou pull request no GitHub.