PHP导出csv文件


$data = [  [标题1,标题2],[内容1,内容2],[内容1,内容2]];
$fp=fopen('php://memory','w+'); // open up write to memory
foreach($data as $row){
$convertedRow=array();
foreach($row as $val){
$convertedRow[]=iconv('utf-8','gbk',$val)."\t";//防止中文乱码,防止打开文件时显示科学计算法(只针对长数字字符串有效)
}
fputcsv($fp,$convertedRow);
}
rewind($fp);
$csvFile=stream_get_contents($fp);
fclose($fp);
ob_clean();
$fileName = 'card_port_'.date('YmdHis').'.csv';
header('Content-Type: text/csv; charset=utf-8');
header("Content-Transfer-Encoding: binary ");
header("Content-Type: application/force-download");
header('Content-Length: '.strlen($csvFile));
header('Content-Disposition: attachment; filename="'.$fileName.'"');
echo ($csvFile);

你也可以不写文件,直接把内容用,号隔开,每一行就用\n换行就可以
foreach($data as $row){
$convertedRow=array();
foreach($row as $val){
$convertedRow[]=iconv('utf-8','gbk',$val)."\t";
}
$csvFile.=implode(',',$convertedRow)."\n";
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM