下载 PHPExcel(https://github.com/PHPOffice/PHPExcel)

把下载的 zip 包解压至 ./ThinkPHP/Library/Vendor 下

一、导入 Excel 数据

控制器自定,这里用 IndexController.class.php

<?php
namespace Home\Controller;
use Think\Controller;class IndexController extends Controller {// 导入 Excelpublic function excel() {header('Content-type: text/html; charset=utf-8');vendor('PHPExcel.Classes.PHPExcel');$file = './Data/example.xlsx';$Excel = new \PHPExcel();// 如果excel文件后缀名为.xls// vendor("PHPExcel.Classes.PHPExcel.Reader.Excel5");// 如果excel文件后缀名为.xlsxvendor("PHPExcel.Classes.PHPExcel.Reader.Excel2007");$PHPReader = new \PHPExcel_Reader_Excel2007();// 载入文件 $Excel = $PHPReader -> load($file);//获取表中的第一个工作表,如果要获取第二个,把0改为1,依次类推$currentSheet = $Excel -> getSheet(0);//获取总列数$allColumn = $currentSheet -> getHighestColumn();//获取总行数$allRow = $currentSheet -> getHighestRow();//循环获取表中的数据,$currentRow表示当前行,从哪行开始读取数据,索引值从0开始for($currentRow = 1; $currentRow <= $allRow; $currentRow++) {//从哪列开始,A表示第一列for($currentColumn = 'A'; $currentColumn <= $allColumn; $currentColumn++) {//数据坐标$address = $currentColumn.$currentRow;//读取到的数据,保存到数组$arr中$arr[$currentRow][$currentColumn] = $currentSheet -> getCell($address) -> getValue();}}echo '<pre>';var_export($arr);}
}

输出:

array (1 => array ('A' => '分公司名称','B' => '姓名','C' => '金额',),2 => array ('A' => 'A分公司','B' => '赵娟','C' => 1100,),3 => array ('A' => 'B分公司','B' => '孔坚','C' => 1100,),4 => array ('A' => 'C分公司','B' => '王华发','C' => 1300,),5 => array ('A' => 'C分公司','B' => '赵辉','C' => 700,),6 => array ('A' => 'B分公司','B' => '华发','C' => 1400,),7 => array ('A' => 'A分公司','B' => '赵德国','C' => 700,),8 => array ('A' => 'B分公司','B' => '沈芳虹','C' => 500,),9 => array ('A' => 'C分公司','B' => '周红玉','C' => 1100,),10 => array ('A' => 'A分公司','B' => '施芬芳','C' => 800,),11 => array ('A' => 'A分公司','B' => '蒋国建','C' => 1100,),12 => array ('A' => 'B分公司','B' => '钱毅','C' => 1400,),13 => array ('A' => 'B分公司','B' => '陈华惠','C' => 1200,),14 => array ('A' => 'C分公司','B' => '曹香','C' => 1400,),15 => array ('A' => 'A分公司','B' => '郑红妙','C' => 600,),16 => array ('A' => 'A分公司','B' => '王宏仁','C' => 800,),17 => array ('A' => 'C分公司','B' => '何丹美','C' => 1300,),
)

  

需要导入的 Excel 文件如下:

  

二、导出 Excel

    // 导出 Excelpublic function export() {vendor('PHPExcel.Classes.PHPExcel');$Excel = new \PHPExcel();$arr = array ( 1 => array ( 'A' => '分公司名称', 'B' => '姓名', 'C' => '金额', ), 2 => array ( 'A' => 'A分公司', 'B' => '赵娟', 'C' => 1100, ), 3 => array ( 'A' => 'B分公司', 'B' => '孔坚', 'C' => 1100, ), 4 => array ( 'A' => 'C分公司', 'B' => '王华发', 'C' => 1300, ), 5 => array ( 'A' => 'C分公司', 'B' => '赵辉', 'C' => 700, ), 6 => array ( 'A' => 'B分公司', 'B' => '华发', 'C' => 1400, ), 7 => array ( 'A' => 'A分公司', 'B' => '赵德国', 'C' => 700, ), 8 => array ( 'A' => 'B分公司', 'B' => '沈芳虹', 'C' => 500, ), 9 => array ( 'A' => 'C分公司', 'B' => '周红玉', 'C' => 1100, ), 10 => array ( 'A' => 'A分公司', 'B' => '施芬芳', 'C' => 800, ), 11 => array ( 'A' => 'A分公司', 'B' => '蒋国建', 'C' => 1100, ), 12 => array ( 'A' => 'B分公司', 'B' => '钱毅', 'C' => 1400, ), 13 => array ( 'A' => 'B分公司', 'B' => '陈华惠', 'C' => 1200, ), 14 => array ( 'A' => 'C分公司', 'B' => '曹香', 'C' => 1400, ), 15 => array ( 'A' => 'A分公司', 'B' => '郑红妙', 'C' => 600, ), 16 => array ( 'A' => 'A分公司', 'B' => '王宏仁', 'C' => 800, ), 17 => array ( 'A' => 'C分公司', 'B' => '何丹美', 'C' => 1300, ), );// 设置$Excel->getProperties()->setCreator("dee")->setLastModifiedBy("dee")->setTitle("数据EXCEL导出")->setSubject("数据EXCEL导出")->setDescription("数据EXCEL导出")->setKeywords("excel")->setCategory("result file");foreach($arr as $key => $val) { // 注意 key 是从 0 还是 1 开始,此处是 0 // $num = $key + 1;$Excel ->setActiveSheetIndex(0)//Excel的第A列,uid是你查出数组的键值,下面以此类推->setCellValue('A'.$key, $val['A'])     ->setCellValue('B'.$key, $val['B'])->setCellValue('C'.$key, $val['C']);}$Excel->getActiveSheet()->setTitle('export');$Excel->setActiveSheetIndex(0);$name='example_export.xlsx'; header('Content-Type: application/vnd.ms-excel');header('Content-Disposition: attachment; filename='.$name);header('Cache-Control: max-age=0');$ExcelWriter = \PHPExcel_IOFactory::createWriter($Excel, 'Excel2007');$ExcelWriter->save('php://output');exit;        }

导出的 example_export.xlsx 如图:

  

右键 -- 属性:

参考:

thinkphp3.2整合phpexcel

利用phpExcel实现Excel数据的导入导出(全步骤详细解析)

ThinkPHP 3.2.3 使用 PHPExcel 处理 Excel 表格相关推荐

  1. php excel导入数据库显示乱码,php修改excel表格数据库数据格式-使用phpexcel导入excel表格数据到MYSQL,乱码怎么解决...

    PHP 用PHPExcel往数据库导入大量数据 估计0是null,所以不显示了,可以换个思路,让他显示为字符串 $number = 0; echo ''.$number 原生PHP代码实现excel导 ...

  2. 【PHP】PHP使用PHPExcel生成Excel表格文件(附带随机生成英文名函数)

    [PHP]PHP使用PHPExcel生成Excel表格文件(附带随机生成英文名函数) 前言 由于业务需要,我们需要从业务中汇总数据,并生成Excel文件. 思路是这样的 PHP要导出Excel表格文件 ...

  3. 使用phpexcel将excel表格的导入导出

    使用phpexcel将excel表格的导入数据库 1–使用composer安装phpexcel包 composer require phpoffice/phpexcel -vvv 2-控制器 //导入 ...

  4. thinkcmf5.1  引入phpexcel 操作excel表格

    thinkcmf5.1 引入phpexcel 操作excel表格 下载phpexcel 类 下载地址https://github.com/PHPOffice/PHPExcel 自己下载解压,将压缩后的 ...

  5. ThinkPHP使用 PHPExcel 处理 Excel 表格

    下载 PHPExcel(https://github.com/PHPOffice/PHPExcel) 把下载的 zip 包解压至 ./ThinkPHP/Library/Vendor 下 一.导入 Ex ...

  6. PhpExcel读取Excel表格中的数据

    <html> <head> <title> 浏览Excel表格中的数据</title> <head> <center> < ...

  7. Thinkphp 3.2.2 利用phpexcel完成excel导出功能

    首先百度搜索phpexcel  包,放到项目的这个目录下 接下来  是controller里的导出代码 public function expUser(){// $p_name = $_POST['o ...

  8. PHP使用PHPExcel读取excel表格

    分享一下PHP操作excel表,至于用途,除了导入导出,剩下的自己想象吧 第一步:上传excel 附件 form表单上传,这个就不用说的了,不会的百度下 PHP保存附件,简单DEOM /*获取提交的数 ...

  9. tp5 使用phpexcel导出excel表格

    1-使用composer安装phpexcel包 composer require phpoffice/phpexcel -vvv 2-控制器里面的方法 public function excel(){ ...

最新文章

  1. 人工智能写手,好用吗?
  2. SAP EWM中仓库任务WT创建的函数
  3. java创建集合有的不用泛型_为什么在Java泛型右手边的集合类型没有任何影响?...
  4. 提高C#编程水平的50个技巧
  5. OData metadata 定义中,entity type key 的作用是什么
  6. LoadRunner变量到参数的互换
  7. 7-290 鸡兔同笼 (10 分)
  8. axios拦截器_请求拦截器_响应拦截器---axios工作笔记010
  9. li ul vue 滚动显示_vue ul循环滚动的问题
  10. 28本大数据/数据分析/数据挖掘电子书合集免费下载!
  11. 基于win10系统下用vs2019编译flightgear2020.4.0
  12. 华硕xhci灰色_[安装实录] 零基础完美黑苹果安装之华硕篇
  13. 用户登录项目第二期——HTML登录页面实现
  14. ​在家共享按摩椅“掘金”共享经济
  15. fans域名启动全球调价
  16. Firefox 插件位置
  17. 读取数据快慢的设备_目前在以下各种设备中,读取数据快慢的顺序是内存、硬盘、光盘和软盘。...
  18. 牙齿矫正价格降低一半,年轻人距离「牙套自由」还有多远?
  19. No connected devices found; please connect a device, or see flutter.dev/setup for getting started in
  20. 【Gem5】有关gem5模拟器的资料导航

热门文章

  1. ARM学习-ARM架构基本内容
  2. 多usb摄像头串口设备名固定和永久授权
  3. hqyj-base_c-day9
  4. 网络克隆自动修改计算机名ip,关于 Ghost 网络克隆后自动修改 IP 及计算机名的方法.doc...
  5. ExtJs 备忘录(9)—— Ext常用属性、方法小结 [系列完]
  6. matlab rng函数使用说明
  7. GPS控制网精度分级及规范
  8. Java-Stream流式编程详解
  9. 在ubuntu16.04上搭建samba文件共享服务器
  10. 医学图像分割——【Polyp-PVT】