thinkphp5中引入第三方擴展的方法extend
玩的還是phpexcel
目錄里面的文件夾是
使用方法
1 控制器頂部 加入
use think\Loader;
2 控制器的函數里面
Loader::import("phpexcel.PHPExcel");
整個文件代碼
<?php namespace app\admin\controller; // use app\think\Controller; use app\common\controller\Backend; use app\admin\model\SecurityCode as SecurityCodeModel; use think\Request; use think\Loader; class SecurityCode extends Backend { //導出 public function Output() { $cc = new SecurityCodeModel(); $info = $cc->order('id')->select(); $data=array(); foreach($info as $k=>$v) { $data[$k]['id']=$v['id']; $data[$k]['serial_number']=$v['serial_number']; // $data[$k]['code1']=$v['code1']; // $data[$k]['code2']=$v['code2']; // $data[$k]['is_active']=$v['is_active']; // $data[$k]['product_code']=$v['product_code']; // $data[$k]['line']=$v['line']; // $data[$k]['xuhao']=$v['xuhao']; $data[$k]['batch']=$v['batch']; } $filename='序列號'; $field = array( 'A' => array('id', '序號'), 'B' => array('serial_number', '序列號'), 'C' => array('batch', '批次'), ); //$this->downloadExcel($data,$title,$filename); $this->phpExcelList($field,$data,$filename); } /** * 直接導出需要生產的內容 * @param $field * @param $list * @param string $title * @throws \PHPExcel_Exception * @throws \PHPExcel_Writer_Exception */ public function phpExcelList($field, $list, $filename='文件') { //vendor("PHPExcel.PHPExcel"); Loader::import("phpexcel.PHPExcel");//引入phpexcel文件夾下的PHPExcel $objPHPExcel = new \PHPExcel(); $objWriter = new \PHPExcel_Writer_Excel5($objPHPExcel); //設置保存版本格式 foreach ($list as $key => $value) { foreach ($field as $k => $v) { if ($key == 0) { $objPHPExcel->getActiveSheet()->setCellValue($k . '1', $v[1]); } $i = $key + 2; //表格是從2開始的 $objPHPExcel->getActiveSheet()->setCellValue($k . $i, $value[$v[0]]); } } header("Pragma: public"); header("Expires: 0"); header("Cache-Control:must-revalidate, post-check=0, pre-check=0"); header("Content-Type:application/force-download"); header("Content-Type:application/vnd.ms-execl"); header("Content-Type:application/octet-stream"); header("Content-Type:application/download");; header('Content-Disposition:attachment;filename='.$filename.'.xls'); header("Content-Transfer-Encoding:binary"); $objWriter->save('php://output'); } }