Existe um script PHP que pode converter dados de tabela HTML para vários formatos?

StackOverflow https://stackoverflow.com/questions/855980

  •  21-08-2019
  •  | 
  •  

Pergunta

Usando PHP, eu posso converter dados MySQL ou dados tabela estática para CSV, Excel, JSON, MySQL, etc, mas há um script de conversão útil ou ferramenta que pode converter os dados da tabela em outros formatos formatados / estilo, como PDF e / ou JPG / PNG usando o GD Biblioteca PHP ou outro?

Foi útil?

Solução

Eu usei este antes de virar uma tabela HTML em um PDF. I gerou a tabela de uma consulta MySQL.

Outras dicas

Para exportação para Excel Eu uso o seguinte código:

<?php

/*  Define our Database and Table Info */


$username="";
$password="";
$database="";
$table="";


mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$select = "SELECT * FROM $table";                
$export = mysql_query($select);
$fields = mysql_num_fields($export);

for ($i = 0; $i < $fields; $i++) {
    $header .= mysql_field_name($export, $i) . "\t";
}

while($row = mysql_fetch_row($export)) {
    $line = '';
    foreach($row as $value) {                                            
        if ((!isset($value)) OR ($value == "")) {
            $value = "\t";
        } else {
            $value = str_replace('"', '""', $value);
            $value = '"' . $value . '"' . "\t";
        }
        $line .= $value;
    }
    $data .= trim($line)."\n";
}
$data = str_replace("\r","",$data);

if ($data == "") {
    $data = "\n(0) Records Found!\n";                        
}

header("Content-type: application/x-msdownload");
header("Content-Disposition: attachment; filename=mailinglist.xls");
header("Pragma: no-cache");
header("Expires: 0");
print "$header\n$data"; 
?> 

Agora, ter cuidado com a forma como você incluir isso. Ele está usando os cabeçalhos para enviar as informações do arquivo para forçar um download, fazendo isso, você não pode ter qualquer lugar espaço em branco antes destes cabeçalhos são enviados caso contrário ele pode lançar um erro. Eu costumo ter este link aberto como uma nova janela para evitar que algo aconteça ... Novamente, isto é apenas um script bastante básico que pode ser expandido enormemente. Espero que isso ajude!

<?php  

/  Define our Database and Table Info /  

$username="";  
$password="";  
$database="";  
$table="";  

mysql_connect(localhost,$username,$password);  
@mysql_select_db($database) or die( "Unable to select database");  
$select = "SELECT * FROM $table";                  
$export = mysql_query($select);  
$fields = mysql_num_fields($export);  

for ($i = 0; $i < $fields; $i++) {  
    $header .= mysql_field_name($export, $i) . ",";  
}  

while($row = mysql_fetch_row($export)) {  
    $line = '';  
    foreach($row as $value) {                                              
        if ((!isset($value)) OR ($value == "")) {  
            $value = ",";  
        } else {  
            $value = str_replace('"', '""', $value);  
            $value = '"' . $value . '"' . ",";  
        }  
        $line .= $value;  
    }  
    $data .= trim($line)."n";  
}  
$data = str_replace("r","",$data);  

if ($data == "") {  
    $data = "n(0) Records Found!n";                          
}  

header("Content-type: application/x-msdownload");  
header("Content-Disposition: attachment; filename=mailinglist.xls");  
header("Pragma: no-cache");  
header("Expires: 0");  
print "$headern$data";   
?> 
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top