安装类库

解压后将Classes文件夹移动到ThinkPHP的extend目录,并将其重命名为phpexcel

在项目中需要的地方添加引用

import('phpexcel.PHPExcel', EXTEND_PATH);

代码实现

namespace app\index\controller;

use think\Controller;

class Excel extends Controller

{

// 将数据导出至Excel

public function exportExcel()

{

// 引入类库

import('phpexcel.PHPExcel', EXTEND_PATH);

// 文件名和文件类型

$fileName = "student";

$fileType = "xlsx";

// 模拟获取数据

$data = self::getData();

$obj = new \PHPExcel();

// 以下内容是excel文件的信息描述信息

$obj->getProperties()->setCreator(''); //设置创建者

$obj->getProperties()->setLastModifiedBy(''); //设置修改者

$obj->getProperties()->setTitle(''); //设置标题

$obj->getProperties()->setSubject(''); //设置主题

$obj->getProperties()->setDescription(''); //设置描述

$obj->getProperties()->setKeywords('');//设置关键词

$obj->getProperties()->setCategory('');//设置类型

// 设置当前sheet

$obj->setActiveSheetIndex(0);

// 设置当前sheet的名称

$obj->getActiveSheet()->setTitle('student');

// 列标

$list = ['A', 'B', 'C'];

// 填充第一行数据

$obj->getActiveSheet()

->setCellValue($list[0] . '1', '学号')

->setCellValue($list[1] . '1', '姓名')

->setCellValue($list[2] . '1', '班级');

// 填充第n(n>=2, n∈N*)行数据

$length = count($data);

for ($i = 0; $i < $length; $i++) {

$obj->getActiveSheet()->setCellValue($list[0] . ($i + 2), '20190101', \PHPExcel_Cell_DataType::TYPE_STRING);//将其设置为文本格式

$obj->getActiveSheet()->setCellValue($list[1] . ($i + 2), 'student01');

$obj->getActiveSheet()->setCellValue($list[2] . ($i + 2), '1班');

}

// 设置加粗和左对齐

foreach ($list as $col) {

// 设置第一行加粗

$obj->getActiveSheet()->getStyle($col . '1')->getFont()->setBold(true);

// 设置第1-n行,左对齐

for ($i = 1; $i <= $length + 1; $i++) {

$obj->getActiveSheet()->getStyle($col . $i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);

}

}

// 设置列宽

$obj->getActiveSheet()->getColumnDimension('A')->setWidth(20);

$obj->getActiveSheet()->getColumnDimension('B')->setWidth(20);

$obj->getActiveSheet()->getColumnDimension('C')->setWidth(15);

// 导出

ob_clean();

if ($fileType == 'xls') {

header('Content-Type: application/vnd.ms-excel');

header('Content-Disposition: attachment;filename="' . $fileName . '.xls');

header('Cache-Control: max-age=1');

$objWriter = new \PHPExcel_Writer_Excel5($obj);

$objWriter->save('php://output');

exit;

} elseif ($fileType == 'xlsx') {

header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');

header('Content-Disposition: attachment;filename="' . $fileName . '.xlsx');

header('Cache-Control: max-age=1');

$objWriter = \PHPExcel_IOFactory::createWriter($obj, 'Excel2007');

$objWriter->save('php://output');

exit;

}

}

// 准备数据

protected function getData()

{

$studentList = [

[

'stuNo' => '20190101',

'name' => 'student01',

'class' => '1班'

], [

'stuNo' => '20190102',

'name' => 'student02',

'class' => '1班'

], [

'stuNo' => '20190103',

'name' => 'student03',

'class' => '1班'

]

];

return $studentList;

}

}

运行

浏览器访问http://127.0.0.1:8083/index/excel/exportExcel下载Excel文件

打开文件如下:

可以看到Excel中的数据和PHP数组中的数据是一致的!

php xls导出文件到本地_使用PHPExcel将数据导出至Excel相关推荐

  1. 使用PHPExcel将数据导出至Excel

    安装类库 从GitHub上下载PHPExcel类库 地址:https://github.com/PHPOffice/PHPExcel 解压后将Classes文件夹移动到ThinkPHP的extend目 ...

  2. 利用PHPExcel将数据导出到xls格式的excel文件

    在开发某地的经营许可证管理系统的时候需要将数据导出打excel文件,虽然一年前做某集团的ERP的时候用到过一次导入和导出,但是那时候太忙没时间写博客,一年过去了我也忘的差不多了,所以趁着今天将此次的使 ...

  3. excel文件导入hive乱码_把数据库数据导出到excel

    SQL Server BI Step by Step 2--- 使用SSIS进行简单的数据导入导出 让我们首先开始学习SSIS吧,利用SSIS把SQL Server中的数据导出.首先,打开Vs.net ...

  4. 如何将python数据输入到excel中_如何使用python将大量数据导出到Excel中的小技巧之一...

    如何使用python将大量数据导出到Excel中的小技巧 (1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢 ...

  5. python获取excel整行数据如何保存到新的工作簿中_如何使用python将大量数据导出到Excel中的小技巧之一...

    如何使用python将大量数据导出到Excel中的小技巧 (1) 问题描述:为了更好地展示数据,Excel格式的数据文件往往比文本文件更具有优势,但是具体到python中,该如何导出数据到Excel呢 ...

  6. phpexcel导出大量数据合并单元格_php 数据导出到excel 2种带有合并单元格的导出...

    /** * * execl数据导出*/ function exportOrderExcel($title, $cellName, $data) {$htmlinfo = " ".$ ...

  7. 移动端excel导出_手机联系人竟可导出到Excel?教你要如何做

    我们知道,如果想要将手机联系人导出到本地,那么一般会以VCF格式来储存.在手机或者电脑当中打开VCF格式可以直接导入联系人,但如果说要编辑修改联系人,就非常不方便了.另外,有时候我们会遇到需要批量修改 ...

  8. php 使用phpexcel实现数据导出

    先做一个简单的数据的导入导出,明天将图片打包下载,oss移动文件,和数据导出完善, namespace app\admin\controller;use think\Controller; use t ...

  9. PHPExcel 写入数据并下载 excel 或 保存至 excel 文件

    下载 点击下载 PHPExcel 包 代码 // 第一步 - 准备下载数据require_once "/vendor/PHPExcel/PHPExcel.php";// 导出数据 ...

最新文章

  1. Spring Cloud Config 集中式配置
  2. Gitlab 官方对整个数据删除事件的详细说明
  3. leetcode(1)485——最大连续 1 的个数(C++)
  4. SQL基础【七、Order by】
  5. 第三次学JAVA再学不好就吃翔(part39)--package关键字
  6. 流浪宠物救助网站前端页面_全国爱心人士齐聚鞍山 救助流浪猫狗
  7. 快速傅里叶变换应用之二 hdu 4609 3-idiots
  8. 7 SystemVerilog语言编写UART接收
  9. 基于Ubuntu Server 16.04 LTS版本安装和部署Django之(二):Apache安装和配置
  10. Queue 输出数据
  11. 0005-Windows Kerberos客户端配置并访问CDH
  12. oracle in _all和any的区别,oracle经验之ANY,SOME,ALL区别
  13. 栈溢出脚本_污点分析挖掘漏洞演示——如何在8小时内从零发现cve20120158(word溢出漏洞)...
  14. win10装系统--笔记
  15. bzoj 3403: [Usaco2009 Open]Cow Line 直线上的牛
  16. CSS学习总结(1)——基本介绍
  17. 架构运维篇(二):Centos7/Linux安装部署Tomcat环境
  18. linux 下的绘图软件Visio——流程图,矢量图
  19. python 克里金空间插值_C#教程之空间插值——克里金插值
  20. numpy随机抽样及各种分布函数详解

热门文章

  1. 中文论文评论(1)基于生成对抗网络的人脸铅笔画算法【吉林大学学报】
  2. Linux FTP服务器与客户端(FTP命令 C/C++代码实现)
  3. godaddy长期有效的优惠码,每单优惠1美金,无金额限制。
  4. java 扫描仪打印机_java打印机
  5. 神经网络 深度神经网络,深度神经网络通俗理解
  6. 荣耀waterplay鸿蒙,荣耀WaterplayVS 华为平板M3青春版,究竟谁更技高
  7. PDF编辑软件adobe acrobat pro 9中文版
  8. 备考英语六级刷题记录3
  9. 带all关键字的子查询
  10. 华为全面屏鸿蒙,华为P50 Pro外观基本确认:居中开孔全面屏首发鸿蒙操作系统...