Olá pessoal, quem nunca teve a necessidade de exportar dados de seu sistema online? E sem ter que acessar o seu painel do BD?
Além de proporcionar mais eficiência no seu trabalho é um ótimo recurso a ser implementado no painel administrativo de seu cliente.
Exportar do MySQL para o Excel nada mais é do que construir uma tabela HTML e dentro dela carregar os dados com PHP e depois forçar o download. Para isto teremos 2 arquivos: um arquivo PHP separado para exportar a tabela chamado ‘exporta.php’ e outro arquivo HTML para o usuário informar os parâmetros chamado ‘consulta.html’.
Em nosso exemplo faremos uma consulta na tabela ‘vendas’ com uma condição de código do produto informada pelo usuário e o usuário também poderá informar o nome do arquivo a ser exportado.
Vamos ao código:
consulta.html
<form action="exporta.php" method="post"> <label>Codigo do produto: </label> <input type="number" name="codigo"> <label>Nome do arquivo exportado: </label> <input type="text" name="nome_arquivo"> <input type="submit" value="Exportar"> </form>
Neste arquivo usaremos este formulario sismples para receber o codigo do produto e nome do aqruivo que será gerado.
exporta.php
<?php $nome_arquivo = $_POST['nome_arquivo']; $codigo = $_POST['codigo']; header("Content-type: application/vnd.ms-excel"); header("Content-type: application/force-download"); header("Content-Disposition: attachment; filename=$nome_arquivo.xls"); header("Pragma: no-cache"); ?> <table> <tr> <td>Cliente</td> <td>Data da Comprar</td> <td>Valor</td> <td>Produto</td> </tr> <?php mysql_connect('endereço','usuario','senha'); mysql_selectdb('bd'); $consulta_codigo = mysql_query("select cliente, data, valor, produto from vendas where codigo_produto=".$codigo."'"); while($venda = mysql_fetch_array($consulta_codigo)){ echo "<tr><td>".$venda['cliente']."</td><td>".$venda['data']."</td><td>".$venda['valor']."</td><td>".$venda['produto']."</td></tr>"; } ?> </table>
Neste outro arquivo recebemos na linha 2 e 3 os dados enviados pelo formulário. Na linha 4 informamos que a aplicação será o Excel, na linha 5 forçamos o download do arquivo. Na linha 6 informamos como o arquivo deve ser salvado, neste caso usamos o ‘filename’ para especificar o nome do arquivo, que será o valor armazenado na variável ‘nome_arquivo’ e no formato xls. E na linha 7 dizemos ao navegador para não fazer cache.
Iniciamos uma tabela no HTML e criamos um cabeçalho para ela. Na linha 17 conectamos ao MySQL e na linha 18 selecionamos o BD. Depois na linha 19 efetuamos uma consulta ao BD com a condição do código do produto. Criamos um ‘while’ na linha 20, para que enquanto existir resultados da consulta MySQL, ele exiba no formato de tabela HTML conforme a linha 21. Quando o while acabar de ser executado, o navegador inicia o download do arquivo que poderá ser aberto no Excel.
Por hoje é isso pessoal.
0sem comentários ainda