原生php导出csv
$data = '流水号, 退款金额, 退款原因'."\n";
$data .= '15211111111111, 0.01, 无货退款'."\n";
$data .= '15211111111112, 0.01, 客户退货'."\n";
$data = iconv('utf-8','gb2312',$data);
$fileName = '文件名'.date('Y-m-d',time()). '.csv';
header("Content-type:text/csv");
header("Content-Disposition:attachment;filename=".$fileName);
header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
header('Expires:0');
header('Pragma:public');
echo chr(0xEF).chr(0xBB).chr(0xBF); //解决乱码
echo $data;
exit; //避免后续会有html代码输出
注意:
- 这里的 \n 换行要使用双引号
- 科学计数法的问题可以用 \t 将数字变成字符串类型
laravel插件(Maatwebsite)导出csv
use Maatwebsite\Excel\Facades\Excel;
$data = [
['学号','姓名','成绩'],
['10001','AAAAA','99'],
['10002','BBBBB','92'],
['10003','CCCCC','95'],
['10004','DDDDD','89'],
['10005','EEEEE','96'],
];
$fileName = '外呼任务列表'.date('Y-m-d',time());
Excel::create($fileName, function($excel) {
$excel->sheet('task_select_export', function($sheet){
$sheet->rows($data);
});
})->export('csv');