php导出csv

    xiaoxiao2025-07-29  13

    <?php require_once 'dbModel.php'; $db=new dbModel(); //定义文件名字 $filename='order_'.date('YmdHis').md5(uniqid(rand())).'.csv'; $fp=fopen($filename,'w'); //设置列名 $head=['id','编号','物品','价格','备注']; foreach ($head as $i => $v) { // CSV的Excel支持GBK编码,一定要转换,否则乱码 $head[$i] = iconv('utf-8', 'gbk', $v); } // 将列名通过fputcsv写到文件句柄 fputcsv($fp,$head); $result=$db->select('order_info','*'); foreach ($result as $line){ foreach($line as $key => $item) { // $line[$key] = iconv('UTF-8', 'GBK', $item); //当报这个错误时候。用下面的编码iconv(): Detected an illegal character in input string $line[$key] = mb_convert_encoding($item,"GBK","UTF-8"); } fputcsv($fp, $line); } fclose($fp); echo (json_encode($filename));

    php导出csv,电话之类的长数字会变成科学计数。

    在php中对电话这个字段处理一下即可:

    $result=$db->select('li_store_orders',["goodId","goodTitle","telPhone","payPrice","realName"]); // var_dump($result); foreach ($result as $line){ $line["telPhone"]=$line["telPhone"]."\t"; foreach($line as $key => $item) { // $line[$key] = iconv('UTF-8', 'GBK', $item); $line[$key] = mb_convert_encoding($item,"GBK","UTF-8"); } fputcsv($fp, $line); }

    最新回复(0)