thinkPHP5框架导出Excel文件简单操作示例
2018-09-07 13:44
本文实例讲述了thinkPHP5框架导出Excel文件简单操作。分享给大家供大家参考,具体如下:
1. 首先安装PHPExcel 这里用composer安装
composer require phpoffice/phpexcel
2. 在控制类引用
use PHPExcel_IOFactory; use PHPExcel;
3. 在控制其中书写导出方法
/** * 导出迟到数据 */ public function export_later() { $date = explode(-,input(get.date)); $_opt[year] = $date[0]; $_opt[month] = $date[1]; $laterArray = Db::name(user)->select();//查找user表数据 $xlsName = $_opt[month].月迟到早退数据统计; $xlsCell = array( array(user_name,姓名), array(user_accounts,工号), array(later_times,迟到次数), array(total_later,迟到累计(分钟)), array(early_times,早退次数), array(total_early,早退累计(分钟)), );//查出字段输出对应Excel对应的列名 //公共方法调用 export_excel($xlsName,$xlsCell,$laterArray); } /** * 公共数据导出实现功能 * @param $expTitle 导出文件名 * @param $expCellName 导出文件列名称 * @param $expTableData 导出数据 */ function export_excel($expTitle,$expCellName,$expTableData) { $xlsTitle = iconv(utf-8, gb2312, $expTitle);//文件名称 $fileName = $expTitle . date(_Ymd);//or $xlsTitle 文件名称可根据自己情况设定 $cellNum = count($expCellName); $dataNum = count($expTableData); $objPHPExcel = new PHPExcel();//方法一 $cellName = array(A,B, C,D, E, F,G,H,I, J, K,L,M, N, O, P, Q,R,S, T,U,V, W, X,Y, Z, AA, AB, AC,AD,AE, AF,AG,AH,AI, AJ, AK, AL,AM,AN,AO,AP,AQ,AR, AS, AT,AU, AV,AW, AX, AY, AZ); //设置头部导出时间备注 $objPHPExcel->getActiveSheet(0)->mergeCells(A1: . $cellName[$cellNum - 1] . 1);//合并单元格 $objPHPExcel->setActiveSheetIndex(0)->setCellValue(A1, $expTitle . 导出时间: . date(Y-m-d H:i:s)); //设置列名称 for ($i = 0; $i < $cellNum; $i++) { $objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i] . 2, $expCellName[$i][1]); } //赋值 for ($i = 0; $i < $dataNum; $i++) { for ($j = 0; $j < $cellNum; $j++) { $objPHPExcel->getActiveSheet(0)->setCellValue( $cellName[$j] . ($i + 3), $expTableData[$i][$expCellName[$j][0]] ); } } ob_end_clean();//这一步非常关键,用来清除缓冲区防止导出的excel乱码 header(pragma:public); header(Content-type:application/vnd.ms-excel;charset=utf-8;name= . $xlsTitle . .xls); header(Content-Disposition:attachment;filename=$fileName.xls);//xls参考下一条备注 $objWriter = \PHPExcel_IOFactory::createWriter( $objPHPExcel, Excel5 );//Excel2007生成2007版本的xlsx,Excel5生成2003版本的xls $objWriter->save(php://output); }
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
上一篇:人大复印资料处理程序_补充篇
下一篇:ftp잚(myftp.php)
文章标题:thinkPHP5框架导出Excel文件简单操作示例
文章链接:http://soscw.com/index.php/essay/12867.html