原理主要是php代碼生成excel文件,被輸出內容以‘,’隔開,自動識別逗號符隔開的內容放入excel內不同的表格內,需要換行處加上轉義符\n,輸出內容涉及中文的需轉化編碼utf-8爲gbk。
方式一:
header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:attachment;filename=pay-".time().".xls"); header('Pragma: no-cache'); header('Expires: 0'); foreach ($datas as $val) { echo iconv('UTF-8','GBK//IGNORE',implode("\t",$val))."\n"; }
方式二:
$str_list = ''; foreach($result as $k=>$v){ $str_list .= $arr[$k]['createtime'].",".$arr[$k]['sid'].",".iconv('utf-8','GBK',$arr[$k]['accountingtype']).",".iconv('utf-8','GBK', $arr[$k]['accountingitem']).",".iconv('utf-8','GBK',$arr[$k]['moneytype'])."," . iconv('utf-8','GBK',$arr[$k]['remark']) . "," . iconv('utf-8','GBK',$arr[$k]['accountingtype1']). "," .iconv('utf-8','GBK',$arr[$k]['balance']). ""."\n"; } $bankcard = iconv('utf-8','GBK','時間'); //中文轉碼 $accountname = iconv('utf-8','GBK','商家id'); $money = iconv('utf-8','GBK','收/支'); $moenytype = iconv('utf-8','GBK','記賬項目'); $bankname = iconv('utf-8','GBK','賬戶類型'); $bankbranch = iconv('utf-8','GBK','內容'); $provice = iconv('utf-8','GBK','發生金額'); $diqu = iconv('utf-8','GBK','賬戶餘額'); $str = $bankcard.",".$accountname.",".$money.",".$moenytype.",".$bankname.",".$bankbranch.",".$provice.",".$diqu."\n"; $filename = date('YmdHis').'.csv'; $this->export_csv($filename,$str.$str_list);