tp5导出 表格

thinkphp5导出xls表格

下载PHPExcel类文件到vendor目录
https://pan.baidu.com/s/1QfiRJhifM12OYbHJzLF3vw
html代码
  1. <form class="layui-form layui-col-md12 x-so" action="{:url('admin/fangwei/daochu')}" method="get">                
  2. <input type="text" name="fw_pici" value="{$fw_pici ? $fw_pici : '';}"  placeholder="请输入印刷批次"  class="layui-input">
  3. <button class="layui-btn"><i class="layui-icon">导出</i></button>
  4. </form>    
复制代码
控制器代码
  1. //导出xls
  2.         public function daochu(){
  3.             //1.从数据库中取出数据
  4.               $where =input('param.fw_pici');
  5.                 //halt($where);
  6.         $list = Db('fangwei')->where('fw_pici','=',$where)->order('fw_id ASC')->select();
  7.                 //halt($list);
  8.         //2.加载PHPExcle类库
  9.         vendor('PHPExcel.PHPExcel');
  10.         //3.实例化PHPExcel类
  11.         $objPHPExcel = new \PHPExcel();
  12.         //4.激活当前的sheet表
  13.         $objPHPExcel->setActiveSheetIndex(0);
  14.         //5.设置表格头(即excel表格的第一行)
  15.         $objPHPExcel->setActiveSheetIndex(0)
  16.                 ->setCellValue('A1', 'ID')
  17.                 ->setCellValue('B1', '防伪码')
  18.                                 ->setCellValue('C1', '标签码');
  19.         //设置A列水平居中
  20.         $objPHPExcel->setActiveSheetIndex(0)->getStyle('A')->getAlignment()
  21.                     ->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  22.         //设置单元格宽度
  23.         $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('A')->setWidth(10);
  24.         $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('B')->setWidth(30); 
  25.         //6.循环刚取出来的数组,将数据逐一添加到excel表格。
  26.         for($i=0;$i<count($list);$i++){
  27.             $objPHPExcel->getActiveSheet()->setCellValue('A'.($i+2),$list[$i]['fw_id']);//ID
  28.                         $objPHPExcel->getActiveSheet()->setCellValue('C'.($i+2),$list[$i]['fw_biaoqianma']);//标签码
  29.             $objPHPExcel->getActiveSheet()->setCellValue('B'.($i+2),$list[$i]['fw_fangweima']);//防伪码
  30.         }
  31.         //7.设置保存的Excel表格名称
  32.         $filename = '印刷防伪码'.date('ymd',time()).'.xls';
  33.         //8.设置当前激活的sheet表格名称;
  34.         $objPHPExcel->getActiveSheet()->setTitle('防伪码');
  35.         //9.设置浏览器窗口下载表格
  36.         header("Content-Type: application/force-download");  
  37.         header("Content-Type: application/octet-stream");  
  38.         header("Content-Type: application/download");  
  39.         header('Content-Disposition:inline;filename="'.$filename.'"');  
  40.         //生成excel文件
  41.         $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
  42.         //下载文件在浏览器窗口
  43.         $objWriter->save('php://output');
  44.         exit;
  45.         }

猜你喜欢

转载自blog.csdn.net/heyuqing32/article/details/81012696