温馨提示:这篇文章已超过201天没有更新,请注意相关的内容是否还可用!
一、安装
1、切换到项目根目录,使用composer进行安装
composer require phpoffice/phpexcel
下面这样就说明安装好了
二、使用方法
将下面的代码放到你的控制器里,然后在其他方法调用,怎样方便怎样来。
友情提示:在线上服务器的时候,保存excel文件的地址需要提前在服务器手动创建上,不然或报错!
<?php /** * @param $username 创建人 * @param $data 二维数组 * @return string excel保存路径 * @throws \PHPExcel_Exception * @throws \PHPExcel_Reader_Exception * @throws \PHPExcel_Writer_Exception */ public function createExcel($username='',$data=[]){ $objPHPExcel = new \PHPExcel(); $objPHPExcel->getProperties() ->setCreator($username) //创建人 ->setLastModifiedBy($username) //最后修改人 ->setTitle("Office 2007 XLSX Test Document") //设置标题 ->setSubject("Office 2007 XLSX Test Document") //设置主题 ->setDescription("公司业绩") //设置备注 ->setKeywords( "office 2007 openxml php") //设置关键字 ->setCategory( "业绩统计"); //设置类别 $objPHPExcel->setActiveSheetIndex(0) //设置第一个内置表(一个xls文件里可以有多个表)为活动的 ->setCellValue( 'A1', '公司名称' ) ->setCellValue( 'B1', '金额' ) ->setCellValue( 'C1', '时间' ); //激活当前表 // A1 B1 C1 和 A B C 对应上,字段改为自己的就行 foreach ($data as $k=>$v){ $jishu=$k+2; $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A'.$jishu,$v['company_name']); $objPHPExcel->setActiveSheetIndex(0)->setCellValue('B'.$jishu,$v['money']); $objPHPExcel->setActiveSheetIndex(0)->setCellValue('C'.$jishu,$v['create_time']); } $objPHPExcel->setActiveSheetIndex(0); ob_end_clean();//清除缓冲区,避免乱码 //最后只需要生成Excel或者提示下载即可 //生成Excel,并自定义保存路径 //"Excel2007"生成2007版本的xlsx,"Excel5"生成2003版本的xls $name=date("YmdHis",time()); $path="file/storage/company/公司业绩$name.xls"; $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5'); $objWriter->save($path); return '/'.$path;//返回生成的excel }
文章版权声明:除非注明,否则均为先生博客原创文章,转载或复制请以超链接形式并注明出处。
还没有评论,来说两句吧...