### 1 安裝 phpoffice/phpexcel 庫
```
composer require phpoffice/phpexcel
```
### 2 用戶表sql文件大致如下
```
CREATE TABLE `user` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(32) NOT NULL,
`password` varchar(32) NOT NULL,
`email` varchar(32) NOT NULL,
`phone` varchar(32) NOT NULL,
`age` tinyint(3) NOT NULL,
`create_time` int(11) NOT NULL,
`update_time` int(11) NOT NULL,
`status` tinyint(1) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
```
### 3 讀取需要的字段信息 并定義相應的單元格名稱 將內容 寫入Excel數據表信息
更多設置請查詢相關資料 以下為簡單使用
```
public function down()
{
// 讀取數據表信息
$db = new UserModel();
$list = $db->field('id,name,email,phone,age,create_time')->select();
$xlsName = "用戶表"; // 表名稱
$xlsCell = [
['id', '序號'],
['name', '名稱'],
['email', '郵箱'],
['phone', '電話'],
['age', '年齡'],
['create_time', '添加時間']
];// 表頭信息
$this->downloadExcel($xlsName, $xlsCell, $list);// 傳遞參數
}
protected function downloadExcel($expTitle, $expCellName, $expTableData)
{
$xlsTitle = iconv('utf-8', 'gb2312', $expTitle);//文件名稱
$fileName = $expTitle;
$cellNum = count($expCellName);// 單元格長度
$dataNum = count($expTableData);
$objPHPExcel = new \PHPExcel();// 引入庫
$cellName = [
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N',
'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'
];
$objPHPExcel->getActiveSheet(0)
->mergeCells('A1:' . $cellName[$cellNum - 1] . '1');//合并單元格為表頭
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', $expTitle);// 設置表頭單元格
for ($i = 0; $i < $cellNum; $i++) {
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue($cellName[$i] . '2', $expCellName[$i][1]);
// 設置列
}
// Miscellaneous glyphs, UTF-8 循環寫入數據
for ($i = 0; $i < $dataNum; $i++) {
for ($j = 0; $j < $cellNum; $j++) {
$objPHPExcel->getActiveSheet(0)
->setCellValue($cellName[$j] . ($i + 3), $expTableData[$i][$expCellName[$j][0]]);
}
}
ob_end_clean();//這一步非常關鍵,用來清除緩沖區防止導出的excel亂碼
header('pragma:public');
header('Content-type:application/vnd.ms-excel;charset=utf-8;name="' . $xlsTitle . '.xls"');
header("Content-Disposition:attachment;filename=$fileName.xls");//"xls"參考下一條備注
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
//"Excel2007"生成2007版本的xlsx,"Excel5"生成2003版本的xls 調用工廠類
return $objWriter->save('php://output');
}
```
### 4 頁面直接訪問down方法即可
- php ping 地址
- python調用php腳本和sh調用php腳本
- php隨機字符串
- redis操作
- 公共頁面文件
- 登錄
- 文章
- 文章管理
- 文章分類
- 圖片
- 圖片分類
- 圖片管理
- 配置文件
- ueditor配置遠程上傳
- django
- 安裝
- jinja2模板標簽
- 虛擬機
- centos寶塔面板安裝
- mysql主從搭建
- 虛擬機安裝centos7
- 2
- 主從復制
- uni-app
- 更新
- 直播簡單代碼
- 搞笑的注釋代碼
- jwt
- centos以太坊環境搭建
- thinkphp5.1下的redis使用
- redis的安裝
- tp5.1中使用
- tp5.1下載酷狗音樂
- 跨域
- tp5.1導出數據庫到excel
- 鉤子和行為
- 支付寶
- 申請支付寶app接入
- 視頻播放
- 模塊安裝
- 推流配置
- pc端網頁代碼
- srs
- 后臺布局
- 基礎布局文件
- 左邊
- 頭部
- css特效代碼
- 圖片旋轉
- 圖片放大
- 頂部
- 列表頁
- 更新數據表單頁
- 模型獲取器
- 上傳圖片
- mysql
- 一些常用
- 遠程授權
- 數據庫常用命令
- 忘記密碼
- webpack
- 一些亂七八糟的東西
- linux后臺運行腳本過大處理辦法
- sublime插件
- linux svn安裝
- 工具
- 查看進程
- 獲取微信公眾號文章
- 爬取微信公眾號文章
- 清空nohup
- 服務器上跨域配置
- sql語句生成orm模型寫法的工具
- centos換阿里源
- linux一些日志操作
- zsh