利用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删除指定目录的方法
Apr 03 PHP
使用URL传输SESSION信息
Jul 14 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
Dec 21 PHP
详解Yii2 定制表单输入字段的标签和样式
Jan 04 PHP
Thinkphp5.0自动生成模块及目录的方法详解
Apr 17 PHP
php strftime函数获取日期时间(switch用法)
May 16 PHP
PHP等比例压缩图片的实例代码
Jul 26 PHP
php微信公众号开发之欢迎老朋友
Oct 20 PHP
PHP自定义错误处理的方法分析
Dec 19 PHP
PHP DB 数据库连接类定义与用法示例
Mar 11 PHP
PHP进阶学习之依赖注入与Ioc容器详解
Jun 19 PHP
PHP实现简单注册登录系统
Dec 28 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
拼音码表的生成
2006/10/09 PHP
php获取bing每日壁纸示例分享
2014/02/25 PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
2014/11/17 PHP
PHP的pcntl多进程用法实例
2015/03/19 PHP
PHP各种常见经典算法总结【排序、查找、翻转等】
2019/08/05 PHP
javascript之AJAX框架使用说明
2010/04/24 Javascript
Javascript技巧之不要用for in语句对数组进行遍历
2010/10/20 Javascript
基于jquery实现的上传图片及图片大小验证、图片预览效果代码
2011/04/12 Javascript
JS:window.onload的使用介绍
2013/11/13 Javascript
用html+css+js实现的一个简单的图片切换特效
2014/05/28 Javascript
javascript记录文本框内文字个数检测文字个数变化
2014/10/14 Javascript
jquery中show()、hide()和toggle()用法实例
2015/01/15 Javascript
JavaScript点击按钮后弹出透明浮动层的方法
2015/05/11 Javascript
QQ登录背景闪动效果附效果演示源码下载
2015/09/22 Javascript
js无提示关闭浏览器窗口的两种方法分析
2016/11/06 Javascript
Angular directive递归实现目录树结构代码实例
2017/05/05 Javascript
js 倒计时(高效率服务器时间同步)
2017/09/12 Javascript
webpack引入eslint配置详解
2018/01/22 Javascript
解析Vue.js中的组件
2018/02/02 Javascript
AngularJS自定义表单验证功能实例详解
2018/08/24 Javascript
记一次vue去除#问题处理经过小结
2019/01/24 Javascript
jQuery位置选择器用法实例分析
2019/06/28 jQuery
浅谈vuex中store的命名空间
2019/11/08 Javascript
详解TensorFlow在windows上安装与简单示例
2018/03/05 Python
对dataframe进行列相加,行相加的实例
2018/06/08 Python
对Python3 序列解包详解
2019/02/16 Python
html5时钟实现代码
2010/10/22 HTML / CSS
英语生日邀请函
2014/01/23 职场文书
餐饮总经理岗位职责
2014/03/07 职场文书
学党史心得体会
2014/09/05 职场文书
2014法院四风问题对照检查材料思想汇报
2014/10/04 职场文书
劳动仲裁撤诉申请书
2015/05/18 职场文书
雨中的树观后感
2015/06/03 职场文书
单位综合评价意见
2015/06/05 职场文书
Pytest中conftest.py的用法
2021/06/27 Python
javascript条件式访问属性和箭头函数介绍
2021/11/17 Javascript