利用PHPExcel读取Excel的数据和导出数据到Excel


Posted in PHP onMay 12, 2017

PHPExcel是一个PHP类库,用来帮助我们简单、高效实现从Excel读取Excel的数据和导出数据到Excel。也是我们日常开发中,经常会遇到的使用场景。比如有个客户信息表,要批量导出发给同事,我们就可以用PHPExcel来快速实现。同样,如果我们要利用短信群发接口去群发信息,PHPExcel可以快速导入客户信息,避免人工录入信息的麻烦。

PHPExcel使用教程:

首先下载PHPExcel

到https://github.com/PHPOffice/PHPExcel下载PHPExcel,如果不懂得使用git,可以到这https://codeload.github.com/PHPOffice/PHPExcel/zip/1.8下载压缩包,懂得的自行用git下载。

下载好文件,解压可以得到如下文件:

利用PHPExcel读取Excel的数据和导出数据到Excel

PHPExcel

好了,现在我们就可以用PHPExcel愉快的读取和制作表格了!

PHPExcel DEMO1:利用PHPExcel读取excel信息:

我们在根目录创建一个名为read.php的文件来读取文档,创建一个test.xlsx的文件,里面写的信息如下:

利用PHPExcel读取Excel的数据和导出数据到Excel

然后在read.php写以下代码:

<?php
include ‘./Classes/PHPExcel/IOFactory.php';

$inputFileName = ‘./test.xls';
date_default_timezone_set(‘PRC');
// 读取excel文件
try {
$inputFileType = PHPExcel_IOFactory::identify($inputFileName);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($inputFileName);
} catch(Exception $e) {
die(‘加载文件发生错误:”‘.pathinfo($inputFileName,PATHINFO_BASENAME).'”: ‘.$e->getMessage());
}

// 确定要读取的sheet,什么是sheet,看excel的右下角,真的不懂去百度吧
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow();
$highestColumn = $sheet->getHighestColumn();

// 获取一行的数据
for ($row = 1; $row <= $highestRow; $row++){
// Read a row of data into an array
$rowData = $sheet->rangeToArray(‘A' . $row . ‘:' . $highestColumn . $row, NULL, TRUE, FALSE);
//这里得到的rowData都是一行的数据,得到数据后自行处理,我们这里只打出来看看效果
var_dump($rowData);
echo “<br>”;
}

得到的数据:

利用PHPExcel读取Excel的数据和导出数据到Excel

PHPexcel读取文件

PHPExcel DEMO2:利用PHPExcel导出信息到excel:

<?php

/** Error reporting */
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
date_default_timezone_set('PRC');

/** 引入PHPExcel */
require_once dirname(__FILE__) . './Classes/PHPExcel.php';

// 创建Excel文件对象
$objPHPExcel = new PHPExcel();
// 设置文档信息,这个文档信息windows系统可以右键文件属性查看
$objPHPExcel->getProperties()->setCreator("作者简庆旺")
 ->setLastModifiedBy("最后更改者")
 ->setTitle("文档标题")
 ->setSubject("文档主题")
 ->setDescription("文档的描述信息")
 ->setKeywords("设置文档关键词")
 ->setCategory("设置文档的分类");

//根据excel坐标,添加数据
$objPHPExcel->setActiveSheetIndex(0)
 ->setCellValue('A1', '你好')
 ->setCellValue('B2', '世界')
 ->setCellValue('C1', '你好')
 ->setCellValue('D2', '世界');

// 混杂各种符号, 编码为UTF-8
$objPHPExcel->setActiveSheetIndex(0)
 ->setCellValue('A4', 'Miscellaneous glyphs')
 ->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç');

$objPHPExcel->getActiveSheet()->setCellValue('A8',"你好世界");
$objPHPExcel->getActiveSheet()->getRowDimension(8)->setRowHeight(-1);
$objPHPExcel->getActiveSheet()->getStyle('A8')->getAlignment()->setWrapText(true);

$value = "-ValueA\n-Value B\n-Value C";
$objPHPExcel->getActiveSheet()->setCellValue('A10', $value);
$objPHPExcel->getActiveSheet()->getRowDimension(10)->setRowHeight(-1);
$objPHPExcel->getActiveSheet()->getStyle('A10')->getAlignment()->setWrapText(true);
$objPHPExcel->getActiveSheet()->getStyle('A10')->setQuotePrefix(true);

// 重命名工作sheet
$objPHPExcel->getActiveSheet()->setTitle('第一个sheet');

// 设置第一个sheet为工作的sheet
$objPHPExcel->setActiveSheetIndex(0);

// 保存Excel 2007格式文件,保存路径为当前路径,名字为export.xlsx
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save( 'export.xlsx');
// 保存Excel 95格式文件,,保存路径为当前路径,
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('export.xls');

好了,执行后我们可以得到export.xls和export.xlsx。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

PHP 相关文章推荐
自己动手做一个SQL解释器
Oct 09 PHP
PHP安装攻略:常见问题解答(三)
Oct 09 PHP
PHP 危险函数全解析
Sep 09 PHP
php 读取文件头判断文件类型的实现代码
Aug 05 PHP
php中实现用数组妩媚地生成要执行的sql语句
Jul 10 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
Sep 11 PHP
php版微信返回用户text输入的方法
Nov 14 PHP
php实现的简单中文验证码功能示例
Jan 03 PHP
PHP开发中解决并发问题的几种实现方法分析
Nov 13 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 PHP
php微信开发之谷歌测距
Jun 14 PHP
php面向对象程序设计中self与static的区别分析
May 21 PHP
php中时间函数date及常用的时间计算
May 12 #PHP
解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题
May 11 #PHP
PHP 实现浏览记录并按日期分组
May 11 #PHP
thinkPHP5 ACL用户权限模块用法详解
May 10 #PHP
使用WAMP搭建PHP本地开发环境
May 10 #PHP
thinkPHP5 tablib标签库自定义方法详解
May 10 #PHP
PHP实现获取第一个中文首字母并进行排序的方法
May 09 #PHP
You might like
php相当简单的分页类
2008/10/02 PHP
PHP array操作10个小技巧分享
2011/06/23 PHP
linux实现php定时执行cron任务详解
2013/12/24 PHP
php对关联数组循环遍历的实现方法
2015/03/13 PHP
PHP实现简单的协程任务调度demo示例
2020/02/01 PHP
详解phpstorm2020最新破解方法
2020/09/17 PHP
读JavaScript DOM编程艺术笔记
2011/11/15 Javascript
动态添加删除表格行的js实现代码
2014/02/28 Javascript
Javascript中的神器——Promise
2017/02/08 Javascript
vue路由懒加载的实现方法
2018/03/12 Javascript
vue 中引用gojs绘制E-R图的方法示例
2018/08/24 Javascript
微信小程序用户拒绝授权的处理方法详解
2019/09/20 Javascript
vue之组件内监控$store中定义变量的变化详解
2019/11/08 Javascript
解决Vue 给mapState中定义的属性赋值报错的问题
2020/06/22 Javascript
uniapp开发小程序实现滑动页面控制元素的显示和隐藏效果
2020/12/10 Javascript
jquery实现拖拽小方块效果
2020/12/10 jQuery
[03:03]DOTA2校园争霸赛 济南城市决赛欢乐发奖活动
2013/10/21 DOTA
[02:19]2018年度DOTA2最佳核心位选手-完美盛典
2018/12/17 DOTA
python服务器端收发请求的实现代码
2014/09/29 Python
Python 2.7.x 和 3.x 版本的重要区别小结
2014/11/28 Python
python xml.etree.ElementTree遍历xml所有节点实例详解
2016/12/04 Python
Python 20行简单实现有道在线翻译的详解
2019/05/15 Python
python飞机大战pygame游戏背景设计详解
2019/12/17 Python
django queryset 去重 .distinct()说明
2020/05/19 Python
python中random.randint和random.randrange的区别详解
2020/09/20 Python
Forever 21美国官网:美国标志性快时尚品牌
2017/02/20 全球购物
2014年元旦联欢会活动策划方案
2014/02/16 职场文书
广告学专业自荐信范文
2014/02/24 职场文书
房地产项目建议书
2014/03/12 职场文书
小区物业门卫岗位职责
2014/04/10 职场文书
2015出纳试用期工作总结
2014/12/12 职场文书
一年级数学下册复习计划
2015/01/17 职场文书
运动会宣传语
2015/07/13 职场文书
JavaScript实现简单计时器
2021/06/22 Javascript
《Estab Life》4月6日播出 正式PV、主视觉图公开
2022/03/20 日漫
java版 简单三子棋游戏
2022/05/04 Java/Android