ThinkPHP6.0 导出 Excel 案例

2021年09月15日 阅读数:3
这篇文章主要向大家介绍ThinkPHP6.0 导出 Excel 案例,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

(一)环境配置

基础环境php

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

(二)安装 ThinkPHP6.0 并配置

(1)安装 ThinkPHP6.0html

composer create-project topthink/think tp2excel复制代码

(2)安装 Excel 插件 phpspreadsheet数据库

composer require phpoffice/phpspreadsheet复制代码

(3)配置站点app

ThinkPHP6.0 导出 Excel 案例_ThinkPHP6.0

(4)配置 Nginx 重写composer

ThinkPHP6.0 导出 Excel 案例_ThinkPHP6.0_02

(5)启动,查看首页数据库设计

ThinkPHP6.0 导出 Excel 案例_ThinkPHP6.0_03

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

(1)数据库配置ide

ThinkPHP6.0 导出 Excel 案例_ThinkPHP6.0_04

(2)数据库建表(略)工具

(四)查询 SQL 数据并导出

(1)引入 Spread.php 插件ui

ThinkPHP6.0 导出 Excel 案例_ThinkPHP6.0_05

(2)查询数据并导出spa

<?php
namespace appcontroller;
use appBaseController;
use thinkfacadeDb;
use ToolsSpread;
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)导出结果

ThinkPHP6.0 导出 Excel 案例_ThinkPHP6.0_06