【发布时间】:2013-04-03 13:29:06
【问题描述】:
我有一个 mysql 表,在其中存储用户的手机号码,现在我只想使用 php 将这些号码导出到 .csv 文件,并且我不想在每个末尾使用逗号数字。现在假设我的表中存储了接下来的 3 个数字:
123456789
+966123456789
00966123456789
现在如果我使用下一个代码:
$result = mysql_query("SELECT cellphone FROM user");
if ($result) {
while ($row = mysql_fetch_array($result)) {
$cellphones .= $row["cellphone"] . ",\r\n"; //note the comma here
}
}
$filename = "cellphones_" . date("Y-m-d_H-i");
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: csv" . date("Y-m-d") . ".csv");
header("Content-disposition: filename=" . $filename . ".csv");
print $cellphones;
exit;
我将得到一个 .csv 文件,其中包含如下数字:
+966123456789,
00966123456789,
123456789,
但如果我使用相同的代码,但没有逗号:
$cellphones .= $row["cellphone"] . "\r\n";
代替:
$cellphones .= $row["cellphone"] . ",\r\n"; //note the comma here
那么 .csv 文件中的数字将是:
9.66123E+11
9.66123E+11
123456789
那么出了什么问题,我怎样才能在没有逗号的情况下正确显示数字?
【问题讨论】:
-
我怀疑这是 Excel 的问题,而不是 CSV 的问题。尝试在记事本中查看文件以查看生成的内容。
-
$cellphones .= '"' . $row["cellphone"] . '"' . "\r\n";
-
@andrewsi 我已经尝试将这些数字导出到不带逗号的 .txt 文件中,并且效果很好。当我按照我的解释尝试将它们导出到 .csv 文件时出现问题。
-
@Amr - .txt 文件和 .csv 文件有什么区别?
-
@andrewsi 是客户需要 .csv 文件中的数字