Существует ли PHP-скрипт, который может конвертировать данные таблицы HTML в различные форматы?
-
21-08-2019 - |
Вопрос
Используя PHP, я могу конвертировать данные MySQL или статические табличные данные в csv, Excel, JSON, MySQL и т.д., Но есть ли полезный скрипт преобразования или инструмент, который может конвертировать табличные данные в другие форматированные форматы, такие как PDF и / или JPG / PNG, используя библиотеку PHP GD или другие?
Решение
Я использовал это прежде чем превратить HTML-таблицу в PDF.Я сгенерировал таблицу из запроса MySQL.
Другие советы
Для экспорта в Excel я использую следующий код:
<?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";
?>
Теперь будьте осторожны с тем, как вы это включаете.Он использует заголовки для отправки информации о файле для принудительной загрузки, делая это, вы не должны оставлять никаких пробелов нигде перед отправкой этих заголовков, иначе это может выдать ошибку.Обычно я открываю эту ссылку в виде нового окна, чтобы ничего не происходило...Опять же, это всего лишь довольно простой скрипт, который может быть значительно расширен.Надеюсь, это поможет!
<?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";
?>