C'è uno script PHP che può convertire i dati della tabella HTML in vari formati?

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

  •  21-08-2019
  •  | 
  •  

Domanda

Utilizzo di PHP, posso convertire i dati MySQL o dati della tabella statici in formato CSV, Excel, JSON, MySQL ecc ma c'è uno script di conversione utile o strumento che può convertire i dati della tabella in altri formati formattati / stile quali PDF e / o JPG / PNG utilizzando il GD Library o PHP altro?

È stato utile?

Soluzione

Ho usato questo prima di trasformare un tabella HTML in un file PDF. Ho generato la tabella da una query MySQL.

Altri suggerimenti

Per esportare in Excel Io uso il seguente codice:

<?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"; 
?> 

Ora prestare attenzione a come si include questa. E 'utilizzando le intestazioni per inviare le informazioni del file per forzare un download, in questo modo, non si può avere qualsiasi spazio bianco da nessuna parte prima che queste intestazioni vengono inviati in caso contrario potrebbero generare un errore. Di solito ho questo link aperta come una nuova finestra per evitare che tutto ciò accada ... Anche in questo caso è solo uno script piuttosto semplice che può essere espansa notevolmente. Spero che questo aiuti!

<?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";   
?> 
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top