> phpspreadsheet
~~~
composer require phpoffice/phpspreadsheet
~~~
[https://packagist.org/packages/phpoffice/phpspreadsheet](https://packagist.org/packages/phpoffice/phpspreadsheet)
> 在安裝前先查看當前環境 fileinfo 擴展有沒有開啟
如果沒有開啟`fileinfo`擴展安裝該擴展庫會報錯
> 導出Excel表格封裝
~~~
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
~~~
~~~
/**
* 導出Excel表格 Xlsx格式(2007版)
*
* @author liang <23426945@qq.com>
* @datetime 2019-12-22
*
* @param array $title 表頭單元格內容
* @param array $data 從第二行開始寫入的數據
* @param string $path Excel文件保存位置,路徑中的目錄必須存在
*
* @return null 沒有設定返回值
*/
private function excel($title = [], $data = [], $path = '')
{
// 獲取Spreadsheet對象
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
// 表頭單元格內容 第一行
$titCol = 'A';
foreach ($title as $value) {
// 單元格內容寫入
$sheet->setCellValue($titCol . '1', $value);
$titCol++;
}
// 從第二行開始寫入數據
$row = 2;
foreach ($data as $item) {
$dataCol = 'A';
foreach ($item as $value) {
// 單元格內容寫入
$sheet->setCellValue($dataCol . $row, $value);
$dataCol++;
}
$row++;
}
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
$result = $writer->save($path . '.xlsx');
}
~~~
> 調用示例
~~~
$data = Db::table('ay_config')->select();
$title = ['id', '字段名', 'value值', '類型', '排序', '描述'];
$this->excel($title, $data, $filename = './excel/03');
~~~
- 搭建ThinkPHP6的開發環境
- 配置ThinkPHP6
- 必要的基礎知識(basic)
- MVC開發模式
- 控制器(controller)
- 數據庫(database)
- 模型(model)
- 模型關聯(relation)
- 視圖(view)
- Session
- Cookie
- 緩存(cache)
- 上傳(upload)
- 驗證器(validate)
- 驗證碼(captcha)
- 命令行(command)
- 服務器部署(deploy)
- 數據備份(backup)
- 數據同步(synchronization)
- 訂閱服務(subscribe)
- PHP 易混淆知識點
- 助手函數
- MySQL規范
- Redis 規范
- office插件 phpoffice
- 拼音插件 pinyin
- 日期插件 datetime
- 消息插件 amqp
- 產品部署環境的搭建
- PDF 等雜項處理
- 文件上傳
- 常用擴展
- flc/dysms
- 使用示例 ①
- 使用示例 ②
- qiniu/php-sdk
- 簡介
- 使用示例
- 使用示例 2 ②
- liliuwei/thinkphp-jump
- 擴展介紹
- 下載擴展
- 使用方法
- topthink/think-captcha
- 安裝擴展
- 驗證碼顯示
- 更換驗證碼
- 驗證碼校驗
- 驗證碼配置
- 自定義驗證碼
- phpoffice/phpspreadsheet
- 數據寫入表格
- 讀取表格數據
- topthink/think-queue
- 安裝
- 自定義函數
- 任務類
- 帶有日志的任務類