利用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判断输入不超过mysql的varchar字段的长度范围
Jun 24 PHP
通过PHP current函数获取未知字符键名数组第一个元素的值
Jun 24 PHP
PHP 使用pcntl和libevent 实现Timer功能
Oct 27 PHP
PHP读取文件内容后清空文件示例代码
Mar 18 PHP
PHP中new static() 和 new self() 的区别介绍
Jan 09 PHP
php常用图片处理类
Mar 16 PHP
Yii2使用$this-&gt;context获取当前的Module、Controller(控制器)、Action等
Mar 29 PHP
PHP简单验证码功能机制实例详解
Mar 27 PHP
PHP7.0连接DB操作实例分析【基于mysqli】
Sep 26 PHP
PHP设计模式之数据访问对象模式(DAO)原理与用法实例分析
Dec 12 PHP
Yii 框架入口脚本示例分析
May 19 PHP
PHPStorm2020.1永久激活及下载更新至2020(推荐)
Sep 25 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加密解密的代码
2006/10/09 PHP
一个可以找出源代码中所有中文的工具
2006/10/25 PHP
PHP中的self关键字详解
2019/06/23 PHP
javascript 网页跳转的方法
2008/12/24 Javascript
js 操作select相关方法函数
2009/12/06 Javascript
JavaScript字符串对象replace方法实例(用于字符串替换或正则替换)
2014/10/16 Javascript
DOM 事件流详解
2015/01/20 Javascript
js实现仿百度汽车频道选择汽车图片展示实例
2015/05/06 Javascript
JavaScript中Math.SQRT2属性的使用详解
2015/06/14 Javascript
JavaScript记录光标在编辑器中位置的实现方法
2016/04/22 Javascript
微信小程序 UI布局常用技巧整理总结
2016/12/05 Javascript
Vue实现一个返回顶部backToTop组件
2017/07/25 Javascript
react高阶组件经典应用之权限控制详解
2017/09/07 Javascript
Vue头像处理方案小结
2018/07/26 Javascript
Pyramid Mako模板引入helper对象的步骤方法
2013/11/27 Python
python将ip地址转换成整数的方法
2015/03/17 Python
Python批量更改文件名的实现方法
2017/10/29 Python
Python使用cx_Oracle模块操作Oracle数据库详解
2018/05/07 Python
python人民币小写转大写辅助工具
2018/06/20 Python
Python Scapy随心所欲研究TCP协议栈
2018/11/20 Python
python中的print()输出
2019/04/12 Python
Python3.5装饰器原理及应用实例详解
2019/04/30 Python
python或C++读取指定文件夹下的所有图片
2019/08/31 Python
python3文件复制、延迟文件复制任务的实现方法
2019/09/02 Python
Python Tkinter模块 GUI 可视化实例
2019/11/20 Python
Python如何定义接口和抽象类
2020/07/28 Python
CSS3中的注音对齐属性ruby-align用法指南
2016/07/01 HTML / CSS
PHP两种查询函数array/row的区别
2013/06/03 面试题
高一历史教学反思
2014/01/13 职场文书
旅游活动总结
2014/08/27 职场文书
建筑专业毕业生求职信
2014/09/30 职场文书
2015年党员自我剖析材料
2014/12/17 职场文书
七年级写作指导之游记作文
2019/10/07 职场文书
Python Django获取URL中的数据详解
2021/11/01 Python
详解MySQL中timestamp和datetime时区问题导致做DTS遇到的坑
2021/12/06 MySQL
Python matplotlib 利用随机函数生成变化图形
2022/04/26 Python