在thinkphp5中PHPexcel实战,其实很简单难的就是后面的路很漫长慢慢琢磨
网盘地址:链接: https://pan.baidu.com/s/1jj4G_y7sBLg76L7ZZDDnaA 提取码: jfj9 复制这段内容后打开百度网盘手机App,操作更方便哦
1.官网下载PHPEXel
下载地址:https://github.com/PHPOffice/PHPExcel
下载后只要Classes,复制Classes到tp5的extend下,并改名为PHPExcel,如下图所示
2.直接使用
建立Excel控制器,如下图所示,内容如下所示(例如:我要导出admin表中的内容,代码如下),导出如下图二所示。
代码如下:
<?php
/**
* Created by PhpStorm.
* User: insist
* Date: 2019/1/22
* Time: 10:25
*/
/**
* Created by PhpStorm.
* User: insist
* Date: 2018/12/4
* Time: 16:31
*/
namespace app\index\controller;
use think\Controller;
class Excel extends Controller
{
public function outExcelRecharge() {
$data = db('admin')->order('id desc')->select();
$field = array(
'A' => array('id', '唯一标识符'),
'B' => array('username', '账号'),
'C' => array('name', '姓名'),
'D' => array('phone', '电话'),
'E' => array('time', '注册时间'),
);
$this->phpExcelList($field, $data, '后台用户_' . date('Y-m-d'));
}
/**
* 直接导出需要生产的内容
* @param $field
* @param $list
* @param string $title
* @throws \PHPExcel_Exception
* @throws \PHPExcel_Writer_Exception
*/
public function phpExcelList($field, $list, $title='文件')
{
import('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='.$title.'.xls');
header("Content-Transfer-Encoding:binary");
$objWriter->save('php://output');
}
}
效果如下:
网友评论