将mysql db(带数字的数据)导出到csv

时间:2012-12-03 10:31:02

标签: php mysql

我试图写一个男女同校,我必须将我的数据库的内容导出到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"; 

感谢

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

问题在于Excel如何处理CSV的内容。关注these instructions以获得所需的结果。

答案 2 :(得分:1)

这是因为excel单元格宽度。你可以在电话号码之前添加任何字符,如“call:989898989898”。然后不会有问题。