gpt4 book ai didi

php - 将数据从 mysql 表导出到 .csv 文件

转载 作者:行者123 更新时间:2023-11-29 13:56:27 24 4
gpt4 key购买 nike

我有一个 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

那么出了什么问题,如何才能正确显示数字而不使用逗号?

最佳答案

说明

逗号被视为每行中值的一部分,因此 MS Excel 在导入时将数据视为字符串......这意味着它将“按原样”存储在单元格中。如果没有逗号,MS Excel 会将该值视为数字,并使用不显示前导零的常规范式,并且如果数字超过定义的位数,则会切换为科学格式。

解决方案

为了始终将值视为字符串(不带逗号),请将值用双引号引起来。

$cellphones .= '"' . $row["cellphone"] . '"' . "\r\n";

关于php - 将数据从 mysql 表导出到 .csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15788707/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com