2

我试图写一个 coed 我必须将我的数据库的内容导出到一个 csv 文件中

导出已经有效,但是我导出的 csv 存在数字问题

例如我的 sql 数据库看起来像这样

telephone number
+639063073755

但是在导出的 csv 中,电话号码中的数据变成了这样

telephone number
6.39063E+11

电话号码变成指数

有没有办法来解决这个问题

这是我的代码

$sql = DB::query("SELECT * FROM table 1 order by id ASC");
$col2 = DB::query("SELECT * FROM table2 order by col_id ASC");
$rp_name = DB::queryOneField('rp_name',"SELECT * FROM report_presets where rp_id=%i",$_GET['rp_id']);
$rp_name = str_replace(" ","",$rp_name);


$line1 .= "Telephone Number";


foreach($sql as $row){
$line2 .=

str_replace(",","",$row[mobile_no]). ","

."\n";
    }

$data="$line1\n$line2\n";

header("Content-type: application/x-msdownload"); 
header("Content-Disposition: attachment; filename=".$rp_name.".csv"); 
header("Pragma: no-cache"); 
header("Expires: 0"); 
print "$header\n$data"; 

谢谢

4

3 回答 3

2

如果您使用 excel 查看 csv,则可能会出现此问题。那不是您的代码的问题。尝试将列格式化为数字

于 2012-12-03T10:35:02.867 回答
2

问题在于 Excel 如何处理 CSV 的内容。按照这些说明来获得所需的结果。

于 2012-12-03T10:38:15.747 回答
1

那是因为 excel 单元格宽度。您可以在电话号码前添加任何字符,例如“call:989898989898”。那么就不会有问题了。

于 2012-12-03T10:38:52.970 回答