ThinkPHP3.2.3接入PHPExcel1.8.0控件导出Excel报表文件处理方法

实现步骤:

一:在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传参会出现问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值