一:在http://phpexcel.codeplex.com/下载最新PHPExcel
将PHPExcel文件夹和PHPExcel.php放入下面的目录内
PHPExcel.php更名为PHPExcel.class.php。
路径:ThinkPHP\Library\Org\Util\
二:下方为控制器代码
// 引入PHPExcel类
import("Org.Util.PHPExcel");
// 实例化PHPExcel
$PHPExcelObj = new \PHPExcel();
// 设置excel属性
$PHPExcelObj -> getProperties() -> setCreator("JAMES")
-> setlastModifiedBy("JAMES")
-> setTitle("zltrans")
-> setSubject("Dorder")
-> setDescription("Dorder List")
-> setKeywords("Dorder")
-> setCategory("Test result file");
if($re['status'] == 1){
$PHPExcelObj -> setActiveSheetIndex(0)
-> setCellValue('A1','序号')
-> setCellValue('B1','城市名')
-> setCellValue('C1',$countTypeName);
$c = 1;
$sort = 0;
$excelName = '';
foreach ($re['response']['rows'] as $key => $value) {
$c++;
$sort++;
$PHPExcelObj -> setActiveSheetIndex(0) -> setCellValue('A'.$c,$sort);//序号
$PHPExcelObj -> setActiveSheetIndex(0) -> setCellValue('B'.$c,$value['areaname']);//城市名
$PHPExcelObj -> setActiveSheetIndex(0) -> setCellValue('C'.$c,$value['num']);//揽/派件量
$excelName = '-省份报表-';
}
}
// 将Excel文件保存到框架指定目录
// import("Org.Util.PHPExcel.IOFactory");
// $ObjWriter = \PHPExcel_IOFactory::createWriter($PHPExcelObj,'Excel2007');
// $filelName = iconv('utf-8','gb2312',$excelName); //利用Iconv函数对文件名进行重新编码
// $ObjWriter -> save('Public/ReportForms/'.$excelName);
// 导出到本地
$objWriter= \PHPExcel_IOFactory::createWriter($PHPExcelObj,'Excel2007');
$filename = $excelName.'.xls';
ob_end_clean();//清除缓存以免乱码出现
header('Content-Type: application/vnd.ms-excel');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . $filename . '"');
header('Cache-Control: max-age=0');
$objWriter -> save('php://output');die;
注意,使用直接导出Excel文件,前端页面需要使用href get传参的方式,Ajax传参会出现问题。