虽然我的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是正确的)