Skip to content

Uma biblioteca JavaScript simples para exportar tabelas HTML para arquivos Excel (.xlsx) sem dependências externas.

License

Notifications You must be signed in to change notification settings

walissonaguirra/html-table-excel-exporter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

html-table-excel-exporter

Uma biblioteca JavaScript simples para exportar tabelas HTML para arquivos Excel (.xlsx) sem dependências externas.

npm version License: MIT

Instalação

NPM

npm install html-table-excel-exporter

CDN

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/html-table-excel-exporter.min.js"></script>

Uso

// 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

<!DOCTYPE html>
<html>
<head>
  <title>Exportar Tabela para Excel</title>
  <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/html-table-excel-exporter.min.js"></script>
</head>
<body>
  <table id="minhaTabela">
    <thead>
      <tr>
        <th>Nome</th>
        <th>Email</th>
        <th>Telefone</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>João Silva</td>
        <td>[email protected]</td>
        <td>(11) 98765-4321</td>
      </tr>
      <tr>
        <td>Maria Souza</td>
        <td>[email protected]</td>
        <td>(21) 91234-5678</td>
      </tr>
    </tbody>
  </table>
  
  <button id="btnExportar">Exportar para Excel</button>
  
  <script>
    document.addEventListener('DOMContentLoaded', function() {
      const exporter = htmlTableExcelExporter.htmlExportTableToExcel();
      exporter.setTable(document.getElementById('minhaTabela'));
      exporter.setFileName('contatos');
      exporter.setBtnAction(document.getElementById('btnExportar'));
    });
  </script>
</body>
</html>

API

htmlExportTableToExcel()

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()

Inicia o download da tabela como arquivo Excel.

Limitações

  • 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

Contribuições são bem-vindas! Por favor, abra uma issue ou pull request no GitHub.

Licença

MIT

About

Uma biblioteca JavaScript simples para exportar tabelas HTML para arquivos Excel (.xlsx) sem dependências externas.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published