Hoje vamos ver como exportar uma tabela HTML para o Excel (xls) utilizando a biblioteca jQuery.
O primeiro passo é inserir a chamada da biblioteca na página HTML, conforme a linha abaixo.
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
Em seguida é preciso, e óbvio, que você tenha uma página HTML que
contenha uma tabela e que esta esteja identificada por um ID, que no
nosso caso é “Exportar_para_excel”.
<table id="Exportar_para_Excel"><br /> <tr><br /> <td>Célula1</td><br /> <td>Célula2</td><br /> <td>Célula3</td><br /> <td>Célula4</td><br /> <td>Célula5</td><br /> </tr><br /> <tr><br /> <td>Célula6</td><br /> <td>Célula7</td><br /> <td>Célula8</td><br /> <td>Célula9</td><br /> <td>Célula10</td><br /> </tr><br /></table>
O passo seguinte é criar um formulário, também com um identificador,
para o armazenamento do conteúdo da tabela em um campo oculto, tornando
possível o envio para o php, que irá gerar a planilha.
<form action="arquivoExcel.php" method="post" target="_blank" id="FormularioExportacao"><br /> <p>Exportar para Excel <img src="export_to_excel.gif" /></p><br /> <input type="hidden" id="dados_a_enviar" name="dados_a_enviar" /><br /></form>
Agora é necessário descarregar toda a tabela em um campo oculto e fazer
o envio do formulário. Para isto vamos usar a biblioteca jQuery, como
mostra o script abaixo.
<br /><script language="javascript"><br /><br />$(document).ready(function() {<br /><br />$(".botaoExcel").click(function(event) {<br /><br />$("#dados_a_enviar").val( $("<div>").append( $("#Exportar_para_Excel").eq(0).clone()).html());<br /><br />$("#FormularioExportacao").submit();<br /><br />});<br /><br />});<br /><br /></script>
O arquivo php fará a leitura do campo oculto “dados_a_enviar” e o
mostrará com o content-type apropriado. Sendo assim, arquivoExcel.php
seria:
<?php<br />header("Content-type: application/vnd.ms-excel; name='excel'");<br />header("Content-Disposition: filename=arquivoExcel.xls");<br />header("Pragma: no-cache");<br />header("Expires: 0);<br /><br />echo $_POST[ 'dados_a_enviar' ];<br />?>Clique abaixo para fazer o download do arquivo de exemplo, que inclui o arquivo da biblioteca jQuery.
Arquivo anexo: Clique aqui para download







