thinkphp5 composer安装phpexcel插件及使用
阅读原文时间:2023年07月08日阅读:1

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;$igetActiveSheet()->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:修改配置:

原来代码

修改代码:

页面刷新,即可导入成功

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章