¿Existe un script PHP que puede convertir datos de las tablas HTML a varios formatos?

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

  •  21-08-2019
  •  | 
  •  

Pregunta

Uso de PHP, que puede convertir datos MySQL o datos de las tablas estáticas a CSV, Excel, JSON, MySQL, etc, pero ¿hay un script de conversión útil o herramienta que puede convertir datos de las tablas en otros formatos con formato / estilo como PDF y / o JPG / PNG utilizando la Biblioteca GD PHP u otro?

¿Fue útil?

Solución

He usado este antes de convertir una tabla HTML en un PDF. Me genera la tabla de una consulta MySQL.

Otros consejos

Para exportar a Excel que uso el siguiente 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"; 
?> 

Ahora tener cuidado con cómo se incluye este. Se trata de utilizar los encabezados para enviar la información del archivo para forzar una descarga, al hacer esto no se puede tener ningún espacio en blanco en cualquier lugar antes de que estas cabeceras se envían de lo contrario se pueden producir un error. Por lo general tienen este enlace abierto como una nueva ventana para evitar que pase algo ... Una vez más esto es sólo un guión bastante básico que se puede ampliar en gran medida. Esperamos que esto ayude!

<?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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top