Gibt es ein PHP-Skript, das HTML-Tabellendaten in verschiedene Formate umwandeln kann?

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

  •  21-08-2019
  •  | 
  •  

Frage

PHP, kann ich MySQL-Daten oder statische Tabellendaten in eine CSV, Excel, JSON, MySQL usw. konvertieren, aber ist es ein nützliches Conversion-Skript oder Tool, das Tabellendaten in andere formatiert / Stil-Formate wie PDF umwandeln und / oder JPG / PNG die PHP-GD-Bibliothek verwenden oder andere?

War es hilfreich?

Lösung

Ich habe verwendet diese , bevor Sie eine HTML-Tabelle in ein PDF zu drehen. Ich erzeugen die Tabelle aus einer MySQL-Abfrage.

Andere Tipps

So exportieren Sie nach Excel ich den folgenden Code verwenden:

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

Nun vorsichtig sein mit, wie Sie diese umfassen. Es ist mit den Header der Datei-Informationen zu senden, einen Download zu erzwingen, indem Sie diese an jeder freien Stelle nicht haben kann überall bevor diese Header sonst gesendet werden, kann es einen Fehler aus. Ich habe in der Regel auf diesen Link öffnen als neues Fenster zu etwas zu verhindern ... Auch dies ist nur ein recht einfaches Skript, das stark erweitert werden kann. Hoffe, das hilft!

<?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";   
?> 
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top