(PHP)MySQL到Excel的导出将生成具有不同单元格格式的文件

时间:2019-01-31 16:38:39

标签: php mysql excel export

虽然我的MySQL数据库上的DATA 1和DATA 2都是varchar,但是当我使用PHP导出包含DATA 1和DATA 2的表时(请参见下面的代码),我得到一个Excel文件,其中DATA 2单元格为常规格式(可以)和数字格式的DATA 1单元格(不可以,我也希望它们也具有通用性以避免小数点分隔符)。

header("Content-Type: application/xls");    
header("Content-Disposition: attachment; filename=$filename.xls");  
header("Pragma: no-cache"); 
header("Expires: 0");

$sep = "\t";

$sql="SELECT * FROM $DB_TBLName WHERE `userID`=$id";  
$resultt = $con->query($sql);
while ($property = mysqli_fetch_field($resultt)) { //fetch table field 
name
    echo $property->name."\t";
}

fputcsv("\n");    

while($row = mysqli_fetch_row($resultt))  //fetch_table_data
{
    $schema_insert = "";
    for($j=0; $j< mysqli_num_fields($resultt);$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";
    fputcsv(trim($schema_insert));
    fputcsv "\n";
}

这就是我得到的:

http://i67.tinypic.com/34g6jbq.png

(同样:DATA 1不正确,DATA 2是正确的)

0 个答案:

没有答案