1:
首先composer加載phpexcel插件
composer require phpoffice/phpexcel
2:
頁面引入
use PHPExcel_IOFactory;
use PHPExcel;
3:數據模型提取數據
<?php namespace app\admin\model; use think\Model; class IndexMdoel extends Model { //連接數據庫表名 protected $table='addgood'; // 定義靜態方法 public static function listData(){ // return self::order('id', 'desc')->select(); } }
4:控制器定義方法
<?php namespace app\admin\controller; use app\admin\model\IndexMdoel; //1 頁面引入 use PHPExcel_IOFactory; use PHPExcel; class Index { public function exl() { // 2 連接數據庫進行查找數據 $list=IndexMdoel::listData(); //3.實例化PHPExcel類 $objPHPExcel = new \PHPExcel(); //4.激活當前的sheet表 $objPHPExcel->setActiveSheetIndex(0); //5.設置表格頭(即excel表格的第一行) $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A1', 'ID') ->setCellValue('B1', '商品名稱') ->setCellValue('C1', '商品庫存') ->setCellValue('D1', '商品價格'); //設置B列水平居中 $objPHPExcel->setActiveSheetIndex(0)->getStyle('B')->getAlignment() ->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //設置單元格寬度 $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('E')->setWidth(15); $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('F')->setWidth(30); //6.循環剛取出來的數組,將數據逐一添加到excel表格。 for($i=0;$i<count($list);$i++){ $objPHPExcel->getActiveSheet()->setCellValue('A'.($i+2),$list[$i]['id']);//添加ID $objPHPExcel->getActiveSheet()->setCellValue('B'.($i+2),$list[$i]['goodName']);//添加用戶名 $objPHPExcel->getActiveSheet()->setCellValue('C'.($i+2),$list[$i]['number']);//添加手機號碼 $objPHPExcel->getActiveSheet()->setCellValue('D'.($i+2),$list[$i]['price']);//添加創建時間 } //7.設置保存的Excel表格名稱 $filename = '管理員'.date('ymd',time()).'.xls'; //8.設置當前激活的sheet表格名稱; $objPHPExcel->getActiveSheet()->setTitle('管理員列表'); //9.設置瀏覽器窗口下載表格 header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header('Content-Disposition:inline;filename="'.$filename.'"'); //生成excel文件 $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); //下載文件在瀏覽器窗口 $objWriter->save('php://output'); exit; } }
5:如果復制以上代碼,需修改以下代碼,改動3處即可
1:
2:表的列名
3:
6:瀏覽器訪問方法,會報以下錯誤
7:修改配置:
原來代碼
修改代碼:
頁面刷新,即可導入成功