将MySQLi查询导出到XLS

时间:2015-11-15 13:13:17

标签: php excel mysqli export export-to-excel

我在一些教程的帮助下创建了这个用于将MySQLi查询导出到.xls的小脚本。本教程使用MySQL,但我使用的是MySQLi。该文件已成功导出并可读,但它将数据放在第二行。这是我的代码:

<?php
include 'connectToDB.php';
$table = "users"; 
$filename = "users_export"; 
$sql = "Select * from $table";
$result = mysqli_query($conn,$sql) or die("Couldn't execute query:<br>" . mysqli_error(). "<br>" . mysqli_errno()); 
$file_ending = "xls";
header("Content-Type: application/xls");
header("Content-Disposition: attachment; filename=$filename.xls");
header("Pragma: no-cache"); 
header("Expires: 0");
$sep = "\t"; 
$names = mysqli_fetch_fields($result) ;
foreach($names as $name){
    print ($name->name . $sep);
    }
print("\n");
while($row = mysqli_fetch_row($result)) {
    $schema_insert = "";
    for($j=0; $j<mysqli_num_fields($result);$j++) {
        if(!isset($row[$j]))
            $schema_insert .= "NULL".$sep;
        elseif ($row[$j] != "")
            $schema_insert .= "$row[$j]".$sep;
        else
            $schema_insert .= "".$sep;
    }
    $schema_insert = str_replace($sep."$", "", $schema_insert);
    $schema_insert = preg_replace("/\r\n|\n\r|\n|\r/", " ", $schema_insert);
    $schema_insert .= "\t";
    print(trim($schema_insert));
    print "\n";
}
?>

0 个答案:

没有答案