Categorias
Artigos JavaScript

Exportando tabelas do DataTables

DataTables é uma biblioteca JavaScript fantástica para lidar com tabelas dinâmicas em páginas da web. Entretanto, podemos estender ainda mais suas funcionalidades, inserindo botões que permitem a exportação dos dados da tabela em múltiplos formatos, como por exemplo, tabular (para cópia), CSV, Excel, PDF e até mesmo HTML para impressão. Veja um exemplo:

Exemplo de tabela DataTables com botões de exportação em cinco formatos: copy (tabular), CSV, Excel, PDF e print (HTML para impressão).

Observe o que acontece quando clicamos no botão PDF:

A tabela é exportada em formato PDF.

Para adicionar botões de exportação de tabelas, inclua no seu código:

  <!-- DataTables JS + botões de exportação -->
  <script src="https://cdn.datatables.net/1.11.3/js/jquery.dataTables.min.js"></script>
  <link rel="stylesheet" href="https://cdn.datatables.net/1.12.1/css/jquery.dataTables.min.css">

  <link rel="stylesheet" href="https://cdn.datatables.net/buttons/2.2.3/css/buttons.dataTables.min.css">

  <script src="https://cdn.datatables.net/buttons/2.2.3/js/dataTables.buttons.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script>
  <script src="https://cdn.datatables.net/buttons/2.2.3/js/buttons.html5.min.js"></script>
  <script src="https://cdn.datatables.net/buttons/2.2.3/js/buttons.print.min.js"></script>

Agora, para usá-lo basta chamar uma tabela da seguinte forma:

<!-- como usar -->
$(document).ready( function () {
    $('#tabela').DataTable(
    {
    
            dom: 'Bfrtip',
            "buttons": [
                'copy', 'csv', 'excel', 'pdf', 'print'
            ],
    }
  );
} ); 

Note que para este código funcionar, você precisará do jquery e deverá ter uma tabela com <tbody> e <thead>.

<script src="https://code.jquery.com/jquery-3.6.1.min.js"></script>

<table class="table table-hover small table-striped" id="tabela">
      <thead>
        <tr>
          <th>ID</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>1</td>
        </tr>
      </tbody>
</table>

Por Diego Mariano

Doutor em Bioinformática pela Universidade Federal de Minas Gerais com atuação na área de ciência de dados e aprendizado de máquina aplicados ao aperfeiçoamento de enzimas usadas na produção de biocombustíveis. Mestre em Bioinformática, também pela UFMG, atuando na área de desenvolvimento de sistemas Web para montagem de genomas. Atualmente realiza estágio pós-doutoral no Departamento de Ciência da Computação da UFMG com foco em desenvolvimento de sistemas Web para Bioinformática, análise exploratória e visualização de dados. Tem conhecimentos nas linguagens: PHP, JavaScript, Python, R, Perl, HTML, CSS e SQL.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

error

Compartilhe este post!

Facebook
YouTube
LinkedIn
Instagram