// 数据处理准备导出csv
public function exportDataindex ($data) {
$str = "客户姓名,客户电话,总订单,服务中订单\n";
$str = iconv('utf-8', 'gb2312', $str);
foreach ($data as $v) {
$data = array();
$data[] = iconv('utf-8', 'gb2312', $v['name']);
$data[] = iconv('utf-8', 'gb2312', $v['mobile']);
$data[] = iconv('utf-8', 'gb2312', $v['counts']);
$data[] = iconv('utf-8', 'gb2312', $v['count']);
$str .= implode(',', $data) . "\n";
}
$filename = date('YmdHis').'_All_client.csv';
$this->export_csv($filename, $str);
}
// 导出csv
public function export_csv($filename, $data){
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 $data;
exit;
}
如果遇到乱码导致数据错乱,可查看是什么问题,一般太长的话使用制表符进行转化,使其不转义直接输出即可,
要是由于编码转化问题可使用 GBK 统一转化为 utf-8 在进行输出。
$data[] = mb_convert_encoding($v['name'], 'GBK', 'utf-8');