C'è uno script PHP che può convertire i dati della tabella HTML in vari formati?
-
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?
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";
?>