> 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
- 安装
- 自定义函数
- 任务类
- 带有日志的任务类