利用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 相关文章推荐
社区(php&amp;&amp;mysql)三
Oct 09 PHP
PHP为表单获取的URL 地址预设 http 字符串函数代码
May 26 PHP
PHP函数学习之PHP函数点评
Jul 05 PHP
phpMyAdmin自动登录和取消自动登录的配置方法
May 12 PHP
php常用文件操作函数汇总
Nov 22 PHP
PHP批量去除BOM头代码分享
Jun 26 PHP
php简单判断两个字符串是否相等的方法
Jul 13 PHP
php自动识别文字编码并转换为目标编码的方法
Aug 08 PHP
PHP+MySQL实现的简单投票系统实例
Feb 24 PHP
thinkPHP5.0框架安装教程
Mar 25 PHP
PHP的mysqli_thread_id()函数讲解
Jan 24 PHP
Yii框架学习笔记之应用组件操作示例
Nov 13 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 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
2006/10/09 PHP
PHP MVC框架skymvc支持多文件上传
2016/05/26 PHP
php fread函数使用方法总结
2019/05/28 PHP
Swoole扩展的6种模式深入详解
2021/03/04 PHP
json简单介绍
2008/06/10 Javascript
JQUERY的属性选择符和自定义选择符使用方法(二)
2011/04/07 Javascript
jquery图片延迟加载 前端开发技能必备系列
2012/06/18 Javascript
js模拟滚动条(横向竖向)
2013/02/22 Javascript
Javascript基础教程之for循环
2015/01/18 Javascript
javascript查询字符串参数的方法
2015/01/28 Javascript
jQuery的Read()方法代替原生JS详解
2016/11/08 Javascript
使用vs code开发Nodejs程序的使用方法
2017/09/21 NodeJs
在vue里使用codemirror遇到的问题
2018/11/01 Javascript
关于ckeditor在bootstrap中modal中弹框无法输入的解决方法
2019/09/11 Javascript
element-ui 远程搜索组件el-select在项目中组件化的实现代码
2019/12/04 Javascript
[00:37]DOTA2上海特级锦标赛 OG战队宣传片
2016/03/03 DOTA
在Python中使用poplib模块收取邮件的教程
2015/04/29 Python
Python中方法链的使用方法
2016/02/23 Python
python实现域名系统(DNS)正向查询的方法
2016/04/19 Python
浅谈python数据类型及类型转换
2017/12/18 Python
解决Python3下map函数的显示问题
2019/12/04 Python
解决在keras中使用model.save()函数保存模型失败的问题
2020/05/21 Python
python实现简单贪吃蛇游戏
2020/09/29 Python
Python eval函数介绍及用法
2020/11/09 Python
python eventlet绿化和patch原理
2020/11/21 Python
Pycharm配置autopep8实现流程解析
2020/11/28 Python
俄罗斯三星品牌商店:Samsungstore
2020/04/05 全球购物
thinkphp5 redis缓存新增方法实例讲解
2021/03/24 PHP
建筑节能汇报材料
2014/08/22 职场文书
小学教育见习报告
2014/10/31 职场文书
经理岗位职责
2015/02/02 职场文书
2015年医药代表工作总结
2015/04/25 职场文书
中学社团活动总结
2015/05/07 职场文书
宇宙与人观后感
2015/06/05 职场文书
安全教育主题班会总结
2015/08/14 职场文书
2016元旦主持人开场白
2015/12/03 职场文书