是否有可以将HTML表格数据转换为各种格式的PHP脚本?

时间:2009-05-13 03:52:00

标签: php file-format

使用PHP,我可以将MySQL数据或静态表数据转换为csv,Excel,JSON,MySQL等,但是有一个有用的转换脚本或工具可以将表数据转换为其他格式/样式格式,如PDF和/或JPG / PNG使用PHP GD库还是其他?

3 个答案:

答案 0 :(得分:1)

我之前使用this将HTML表格转换为PDF格式。我从MySQL查询中生成了表。

答案 1 :(得分:0)

要导出到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"; 
?> 

现在要小心你如何包含它。它正在使用Headers发送文件信息以强制下载,通过这样做,在发送这些标头之前,任何地方都不能有空格,否则可能会抛出错误。我通常将此链接打开作为一个新窗口,以防止发生任何事情......再次,这只是一个非常基本的脚本,可以大大扩展。希望这有帮助!

答案 2 :(得分:0)

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