ThinkPHP 3.2.3 使用 PHPExcel 处理 Excel 表格
下载 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 表格相关推荐
- php excel导入数据库显示乱码,php修改excel表格数据库数据格式-使用phpexcel导入excel表格数据到MYSQL,乱码怎么解决...
PHP 用PHPExcel往数据库导入大量数据 估计0是null,所以不显示了,可以换个思路,让他显示为字符串 $number = 0; echo ''.$number 原生PHP代码实现excel导 ...
- 【PHP】PHP使用PHPExcel生成Excel表格文件(附带随机生成英文名函数)
[PHP]PHP使用PHPExcel生成Excel表格文件(附带随机生成英文名函数) 前言 由于业务需要,我们需要从业务中汇总数据,并生成Excel文件. 思路是这样的 PHP要导出Excel表格文件 ...
- 使用phpexcel将excel表格的导入导出
使用phpexcel将excel表格的导入数据库 1–使用composer安装phpexcel包 composer require phpoffice/phpexcel -vvv 2-控制器 //导入 ...
- thinkcmf5.1 引入phpexcel 操作excel表格
thinkcmf5.1 引入phpexcel 操作excel表格 下载phpexcel 类 下载地址https://github.com/PHPOffice/PHPExcel 自己下载解压,将压缩后的 ...
- ThinkPHP使用 PHPExcel 处理 Excel 表格
下载 PHPExcel(https://github.com/PHPOffice/PHPExcel) 把下载的 zip 包解压至 ./ThinkPHP/Library/Vendor 下 一.导入 Ex ...
- PhpExcel读取Excel表格中的数据
<html> <head> <title> 浏览Excel表格中的数据</title> <head> <center> < ...
- Thinkphp 3.2.2 利用phpexcel完成excel导出功能
首先百度搜索phpexcel 包,放到项目的这个目录下 接下来 是controller里的导出代码 public function expUser(){// $p_name = $_POST['o ...
- PHP使用PHPExcel读取excel表格
分享一下PHP操作excel表,至于用途,除了导入导出,剩下的自己想象吧 第一步:上传excel 附件 form表单上传,这个就不用说的了,不会的百度下 PHP保存附件,简单DEOM /*获取提交的数 ...
- tp5 使用phpexcel导出excel表格
1-使用composer安装phpexcel包 composer require phpoffice/phpexcel -vvv 2-控制器里面的方法 public function excel(){ ...
最新文章
- 人工智能写手,好用吗?
- SAP EWM中仓库任务WT创建的函数
- java创建集合有的不用泛型_为什么在Java泛型右手边的集合类型没有任何影响?...
- 提高C#编程水平的50个技巧
- OData metadata 定义中,entity type key 的作用是什么
- LoadRunner变量到参数的互换
- 7-290 鸡兔同笼 (10 分)
- axios拦截器_请求拦截器_响应拦截器---axios工作笔记010
- li ul vue 滚动显示_vue ul循环滚动的问题
- 28本大数据/数据分析/数据挖掘电子书合集免费下载!
- 基于win10系统下用vs2019编译flightgear2020.4.0
- 华硕xhci灰色_[安装实录] 零基础完美黑苹果安装之华硕篇
- 用户登录项目第二期——HTML登录页面实现
- ​在家共享按摩椅“掘金”共享经济
- fans域名启动全球调价
- Firefox 插件位置
- 读取数据快慢的设备_目前在以下各种设备中,读取数据快慢的顺序是内存、硬盘、光盘和软盘。...
- 牙齿矫正价格降低一半,年轻人距离「牙套自由」还有多远?
- No connected devices found; please connect a device, or see flutter.dev/setup for getting started in
- 【Gem5】有关gem5模拟器的资料导航