其實很簡單難的就是後面的路很漫長慢慢琢磨
網盤地址:鏈接: 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');
}
}
效果如下: