利用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边学边教》(02.Apache+PHP环境配置――上篇)
Dec 13 PHP
一个PHP模板,主要想体现一下思路
Dec 25 PHP
php 常用算法和时间复杂度
Jul 01 PHP
php中出现空白页的原因及解决方法汇总
Jul 08 PHP
PHP防盗链代码实例
Aug 27 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
Sep 14 PHP
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
Jun 27 PHP
完美解决Thinkphp3.2中插入相同数据的问题
Aug 01 PHP
PHP使用Redis实现Session共享的实现示例
May 12 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
Mar 26 PHP
Laravel框架源码解析之入口文件原理分析
May 14 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实现的简单日历类
2014/11/29 PHP
php+mysql大量用户登录解决方案分析
2014/12/29 PHP
php实现mysql数据库分表分段备份
2015/06/18 PHP
Symfony实现行为和模板中取得request参数的方法
2016/03/17 PHP
详解yii2使用多个数据库的案例
2017/06/16 PHP
PHP7 安装event扩展的实现方法
2019/10/08 PHP
jQuery实战之仿淘宝商城左侧导航效果
2011/04/12 Javascript
jQuery中使用Ajax获取JSON格式数据示例代码
2013/11/26 Javascript
javascript实现存储hmtl字符串示例
2014/04/25 Javascript
JavaScript设计模式之建造者模式介绍
2014/12/28 Javascript
移动端JQ插件hammer使用详解
2015/07/03 Javascript
angularJS与bootstrap结合实现动态加载弹出提示内容
2015/10/16 Javascript
jQuery ajax分页插件实例代码
2016/01/27 Javascript
无循环 JavaScript(map、reduce、filter和find)
2017/04/08 Javascript
Nodejs搭建wss服务器教程
2017/05/24 NodeJs
详解基于webpack搭建react运行环境
2017/06/01 Javascript
微信小程序实现倒计时60s获取验证码
2020/04/17 Javascript
用p5.js制作烟花特效的示例代码
2018/03/21 Javascript
JS实现动态添加外部js、css到head标签的方法
2019/06/05 Javascript
Python中使用PyHook监听鼠标和键盘事件实例
2014/07/18 Python
深入学习python的yield和generator
2016/03/10 Python
Python tornado队列示例-一个并发web爬虫代码分享
2018/01/09 Python
Python实现将Excel转换成xml的方法示例
2018/08/25 Python
django 中的聚合函数,分组函数,F 查询,Q查询
2019/07/25 Python
CSS3制作彩色进度条样式的代码示例分享
2016/06/23 HTML / CSS
有关HTML5 Video对象的ontimeupdate事件(Chrome上无效)的问题
2013/07/19 HTML / CSS
Merrell迈乐澳大利亚网站:购买户外登山鞋
2017/05/28 全球购物
SkinCeuticals官网:美国药妆品牌
2018/04/19 全球购物
个人工作表现评语
2014/04/30 职场文书
毕业设计说明书
2014/05/07 职场文书
成立公司计划书
2014/05/07 职场文书
优秀共产党员推荐材料
2014/12/18 职场文书
给女朋友的道歉短信
2015/05/12 职场文书
创业计划书之川味火锅店
2019/09/02 职场文书
MongoDB数据库常用的10条操作命令
2021/06/18 MongoDB
修改Nginx配置返回指定content-type的方法
2022/09/23 Servers