PHP的表格导出比较简单
- 设置header头。
header("Content-Disposition: inline; filename=文件名.csv");#inline 设置浏览器类型我内嵌类型
header('Content-Type: application/octet-stream');#表示文件类型为二进制流程序
- 输出BOM头
echo "\xEF\xBB\xBF";
#输出BOM头,EXCEL打开时会默认为UTF8。BOM是用来判断文本文件是哪一种Unicode编码的标记,其本身是一个Unicode字符("\uFEFF"),位于文本文件头部
- 输出换行符
echo PHP_EOL;
#PHP的换行符,由于不同环境的换行符不一样,所以此函数能规避相关问题
- 输出表头
// 输出表头
echo '"投保时间","投保人","被保险人","被保人证件类型","被保险人证件号码","产品名称","计划代码","保单号","起保日期","终保日期","出单机构","机构ID","保费","保单状态"';
- 输出换行符
echo PHP_EOL;
- 循环输出内容
//输出表体
foreach ($rst['lists'] as $list){
$DateGen=$list['DateGen']."\t";
$IdNo=$list['IdNo']."\t";
$PlanCode=$list['PlanCode']."\t";
$DateStart=$list['DateStart']."\t";
$DateEnd=$list['DateEnd']."\t";
echo <<<TAG
"{$DateGen}","{$list['PHName']}","{$list['Name']}","{$list['IdNoType']}","{$IdNo}","{$list['ProductName']}"," {$PlanCode}","{$list['PolicyNumber']}","{$DateStart}","{$DateEnd}","{$list['CorpName']}","{$list['CorpID']}","{$list['TotalPremium']}",{$list['PolicyState']}
TAG;
#字段名后面加"\t"能够避免过长的数字自动转为科学计数
- 输出换行符
echo PHP_EOL;