下载phpexcel压缩包,地址:https://github.com/PHPOffice/PHPExcel/tree/1.7.9,该压缩包中有一些示例可以参考,基本涵盖所有情况导出示例。在Examples文件夹中。将压缩包中Classes文件里边的所有文件复制到tp中ThinkPHP\Library\Org\Util目录下,并将PHPExcel.php文件改名为PHPExcel.class.php,如下图,tp的import引入文件时命名规则
import("Org.Util.PHPExcel");
$data = 需要导出的数据
$objPHPExcel = new \PHPExcel();
//定义配置
$title = "商户进货列表";
$topNumber = 2;//表头有几行占用
$xlsTitle = iconv('utf-8', 'gb2312', $title);//文件名称
$fileName = $title.date('_YmdHis');//文件名称
$cellName = array(
array("订单号","商户名","产品名","价格","数量","订货时间","是否发货","地址")
);
$cellKey = array(
'A','B','C','D','E','F','G','H'
);
$objPHPExcel->getActiveSheet()->setCellValue("A1",'订单号');
$objPHPExcel->getActiveSheet()->setCellValue("B1", '商户名');
$objPHPExcel->getActiveSheet()->setCellValue("C1", '产品名');
$objPHPExcel->getActiveSheet()->setCellValue("D1", '价格');
$objPHPExcel->getActiveSheet()->setCellValue("E1", '数量');
$objPHPExcel->getActiveSheet()->setCellValue("F1", '订货时间');
$objPHPExcel->getActiveSheet()->setCellValue("G1", '是否发货');
$objPHPExcel->getActiveSheet()->setCellValue("H1", '地址');
//处理数据
$key=2;
foreach ($data as $k =>$v)
{
$objPHPExcel->getActiveSheet()->setCellValue("A$key",$v['ordernum']);
$objPHPExcel->getActiveSheet()->setCellValue("B$key", $v['merchant_name']);
$objPHPExcel->getActiveSheet()->setCellValue("C$key", $v['name']);
$objPHPExcel->getActiveSheet()->setCellValue("D$key", $v['price']);
$objPHPExcel->getActiveSheet()->setCellValue("E$key", $v['num']);
$objPHPExcel->getActiveSheet()->setCellValue("F$key", date("Y-m-d H:i:s",$v['add_time']));
$objPHPExcel->getActiveSheet()->setCellValue("G$key", $v['type_info']);
$objPHPExcel->getActiveSheet()->setCellValue("H$key", $v['merchant_address']);
$key++;
}
//导出execl
header('pragma:public');
header('Content-type:application/vnd.ms-excel;charset=utf-8;name="'.$xlsTitle.'.xls"');
header("Content-Disposition:attachment;filename=$fileName.xls");//attachment新窗口打印inline本窗口打印
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;