近期在项目中做到了导出Excel功能,但是由于项目PHP版本为5.4,网上找了一大堆的插件或扩展由于封装发布版本较新,不支持PHP5.4版本,大多支持PHP7.0以上的版本,并且加上本身需要导出的数量比较少,可以采用下面原生导出Excel方法。
示例代码
/**
* 创建 Excel 表格
* @param $list | 需要进行创建Excel的二维数组
* @param $filename | Excel文件名
* @param array $header | Excel头部中文名称
* @param array $index | 对应二维数组中键名
*/
protected function createtable($list,$filename,$header=array(),$index=array()){
header("'Access-Control-Allow-Origin': '*'");
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=".$filename.".xls");
$teble_header = implode("\t",$header);
$strexport = $teble_header."\r";
foreach ($list as $row){
foreach($index as $val){
$strexport.=$row[$val]."\t";
}
$strexport.="\r";
}
$strexport=iconv('UTF-8',"GB2312//IGNORE",$strexport);
exit($strexport);
}
/**
* 获取Excel方法函数
*/
public function getExcel(){
// 使用其封装方法
$filename = '历史订单记录'.date('YmdHis');
$header = array('订单ID','用户ID','订单用户电话');
$index = array('Order_id','User_id','Order_Phone');
$this->createtable($data,$filename,$header,$index);
}
此处两个方法及封装函数最好放在Class类中,直接调用就可以实现其简单生成Excel文件,是不是很便捷。
本文链接:https://www.debuginn.cn/4308.html
本文采用CC BY-NC-SA 3.0 Unported协议进行许可,转载请保留此文章链接