ThinkPHP6.0 导出 Excel 案例

浏览:3028 发布日期:2020/03/22 分类:ThinkPHP6专区 关键字: phpspreadsheet,thinkphp6
# (一)环境配置

+ 基础环境
+ 系统环境:Windows10 x64
+ PHP集成环境:phpEnv7.1.5(https://www.phpenv.cn/)
- PHP7.4.4
- MySQL8.0.19
- Nginx1.16.1
+ 数据库管理工具:Navicat Premium 15.0.11
+ PHP依赖管理工具:Composer(https://getcomposer.org/Composer-Setup.exe)

# (二)安装ThinkPHP6.0并配置

(1)安装ThinkPHP6.0

```
composer create-project topthink/think tp2excel
```

(2)安装Excel插件phpspreadsheet

```
composer require phpoffice/phpspreadsheet
```

(3)配置站点

![PHPEnv的配置-站点配置](https://cdn.learnku.com/uploads/images/202003/22/35824/qoaJaDFbgg.jpg!large)

(4)配置Nginx重写

![PHPEnv的配置-重写](https://cdn.learnku.com/uploads/images/202003/22/35824/t7ME7CTV0d.jpg!large)
(5)启动,查看首页

![ThinkPHP6.0首页](https://cdn.learnku.com/uploads/images/202003/22/35824/UFo0GqjEIx.jpg!large)

# (三)配置数据库与数据库设计

(1)数据库配置

![数据库配置](https://cdn.learnku.com/uploads/images/202003/22/35824/gpAqzH8la7.jpg!large)

(2)数据库建表(略)

# (四)查询SQL数据并导出

(1)引入Spread.php插件

![引入Spread.php插件](https://cdn.learnku.com/uploads/images/202003/22/35824/22xeQZSY1K.jpg!large)
(2)查询数据并导出

```php
<?php
namespace app\controller;

use app\baseController;
use think\facade\Db;
use Tools\Spread;

class Index extends baseController
{
public function index()
{
return '<html><a href="/index/excel.html?limit=2000">导出Excel</a><html>';
}

public function excel($limit = 10)
{
$expTableData = Db::table('b_demo')->limit($limit)->select();
$fileName = "IP地址导出";
$Excel['fileName']=$fileName.date('Y年m月d日-His',time());//or $xlstitle
$Excel['cellName']=['A','B','C','D'];
$Excel['H'] = ['A'=>12,'B'=>22,'C'=>28,'D'=>38];//横向水平宽度
$Excel['V'] = ['1'=>40,'2'=>26];//纵向垂直高度
$Excel['sheettitle']=$fileName;//大标题,自定义
$Excel['xlsCell']=[
['id','编号'],
['start','开始IP'],
['end','结束IP'],
['disp','地区']];
Spread::excelPut($Excel,$expTableData);
}
}
```

(3)导出结果

![导出结果](https://cdn.learnku.com/uploads/images/202003/22/35824/l1mkzYGVXK.jpg!large)

> 程序下载:http://uss.comeround.cn/res/thinkphp6-excel.zip
最佳答案
评论( 相关
后面还有条评论,点击查看>>