利用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的类树(支持无限分类)
Oct 09 PHP
PHP 字符串操作入门教程
Dec 06 PHP
使用 eAccelerator加速PHP代码的方法
Sep 30 PHP
php 常用类汇总 推荐收藏
May 13 PHP
浏览器关闭后,能继续执行的php函数(ignore_user_abort)
Aug 01 PHP
php strrpos()与strripos()函数
Aug 31 PHP
wordpress自定义url参数实现路由功能的代码示例
Nov 28 PHP
php实现的Cookies操作类实例
Sep 24 PHP
php异步多线程swoole用法实例
Nov 14 PHP
PHP获取youku视频真实flv文件地址的方法
Dec 23 PHP
PHP实现对二维数组某个键排序的方法
Sep 14 PHP
php获取ip及网址的简单方法(必看)
Apr 01 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内存使用情况如何获取
2015/10/10 PHP
带你了解PHP7 性能翻倍的关键
2015/11/19 PHP
YII2.0之Activeform表单组件用法实例
2016/01/09 PHP
PHP自带方法验证邮箱是否存在
2016/02/01 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
深入分析PHP设计模式
2020/06/15 PHP
一个小型js框架myJSFrame附API使用帮助
2008/06/28 Javascript
Javascript string 扩展库代码
2010/04/09 Javascript
nodejs中实现sleep功能实例
2015/03/24 NodeJs
js实现的后台左侧管理菜单代码
2015/09/11 Javascript
JQuery.Ajax()的data参数类型实例详解
2015/11/20 Javascript
jQuery 更改checkbox的状态,无效的解决方法
2016/07/22 Javascript
jQuery插入节点和移动节点用法示例(insertAfter、insertBefore方法)
2016/09/08 Javascript
谈谈Vue.js——vue-resource全攻略
2017/01/16 Javascript
详解vuex 中的 state 在组件中如何监听
2017/05/23 Javascript
Vue.js实现微信过渡动画左右切换效果
2017/06/13 Javascript
CKEditor4配置与开发详细中文说明文档
2018/10/08 Javascript
vue项目中将element-ui table表格写成组件的实现代码
2019/06/12 Javascript
Net微信网页开发 使用微信JS-SDK获取当前地理位置过程详解
2019/08/26 Javascript
javascript json对象小技巧之键名作为变量用法分析
2019/11/11 Javascript
python发送邮件的实例代码(支持html、图片、附件)
2013/03/04 Python
在Python中使用模块的教程
2015/04/27 Python
Python打包文件夹的方法小结(zip,tar,tar.gz等)
2016/09/18 Python
python编程实现希尔排序
2017/04/13 Python
Python3实现飞机大战游戏
2020/04/24 Python
pycharm配置python 设置pip安装源为豆瓣源
2021/02/05 Python
康帕斯酒店预订:Compass Hospitality(支持中文)
2018/08/23 全球购物
学校安全教育制度
2014/01/31 职场文书
体育教师个人的自我评价
2014/02/16 职场文书
小区推广策划方案
2014/06/06 职场文书
图书馆标语
2014/06/19 职场文书
忠诚教育学习心得体会
2016/01/23 职场文书
入团申请书格式
2019/06/20 职场文书
给原生html中添加水印遮罩层的实现示例
2021/04/02 Javascript
PyTorch 如何自动计算梯度
2021/05/23 Python
Python多线程 Queue 模块常见用法
2021/07/04 Python