使用PHP创建CSV文件

时间:2011-07-30 11:38:02

标签: php mysql csv

我正在通过php创建一个csv文件,我从我的数据库中获取了一些值。

我成功获得了一个值,并且出色地生成了csv。

我的值为0012345和0051234

我的问题是当我在csv文件中查看数据时,00不显示12345和51234.

当我检查我的Excel时,我转到格式化单元格,它似乎设置为常规模式。它应该设置为Text,以便它接受00作为数字的第一个数字。

这是我的代码:

$csv_filename="ePay.csv";
header("Cache-Control: maxage=1");
header("Pragma: public");

header("Content-Type: application/vnd.ms-excel");
header("Expires: 0");

header("Cache-Control: must-revalidate, post-check=0, pre-check=0");


header("content-disposition: attachment;filename=$csv_filename");
include("/includes/config.php");

$sql = "SELECT * FROM moneyroute where sender_country ='Nigeria' and status = 'new'";

#echo $sql;
$olu="AfrotradeGroup";
$result=mysql_query($sql);
if(mysql_num_rows($result)>0){

        $fileContent="Beneficiary Name,Beneficiary Account No,Beneficiary Bank Code,Transaction Amount,Narration\n";
        while($data=mysql_fetch_array($result))
        {
$name_=$data['sender_first_name']." ".$data['sender_last_name'];
            if($data['status']=='u')
                $sta='Approved';
                else
                $sta='Pending';
        $fileContent.= "".$data['receiver_first_name']." ".$data['receiver_last_name'].",".$data['accountno'].",".$data['sortcode'].",".$data['equal_currency'].",".$olu."\n";
    }


$fileContent=str_replace("\n\n","\n",$fileContent);
        echo $fileContent;
    }

我得到的结果如下: Ade you 67654578 97865 30151.52 AfrotradeGroup \  67654578应为067654578,而97865应为097865

这个问题的解决方案是什么? 提前致谢,祝你有个美好的一天。

1 个答案:

答案 0 :(得分:1)

似乎问题是你必须使用强制转换操作符。

$myText = (string)$myVar;

这样,变量用作文本而不是数字。