利用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 相关文章推荐
图片存储与浏览一例(Linux+Apache+PHP+MySQL)
Oct 09 PHP
从MySQL数据库表中取出随机数据的代码
Sep 05 PHP
PHP 编写的 25个游戏脚本
May 11 PHP
php异常处理技术,顶级异常处理器
Jun 13 PHP
如何使用php判断所处服务器操作系统的类型
Jun 20 PHP
php使用curl存储cookie的示例
Mar 31 PHP
php天翼开放平台短信发送接口实现方法
Dec 22 PHP
CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录
Mar 25 PHP
PHP输入流php://input实例讲解
Dec 22 PHP
PHP PDOStatement::fetch讲解
Jan 31 PHP
PHP+Ajax实现的检测用户名功能简单示例
Feb 12 PHP
PHP的new static和new self的区别与使用
Nov 27 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
通用PHP动态生成静态HTML网页的代码
2010/03/04 PHP
采集邮箱的php代码(抓取网页中的邮箱地址)
2012/07/17 PHP
Yii框架表单提交验证功能分析
2017/01/07 PHP
Laravel多用户认证系统示例详解
2018/03/13 PHP
PHP支付宝当面付2.0代码
2018/12/21 PHP
form.submit()不能提交表单的错误原因及解决方法
2014/10/13 Javascript
JavaScript中使用document.write向页面输出内容实例
2014/10/16 Javascript
js点击列表文字对应该行显示背景颜色的实现代码
2015/08/05 Javascript
JS判断字符串变量是否含有某个字串的实现方法
2016/06/03 Javascript
微信小程序 template模板详解及实例
2017/02/21 Javascript
vue 实现类似淘宝星级评分的示例
2018/03/01 Javascript
Javasript设计模式之链式调用详解
2018/04/26 Javascript
angularjs获取到My97DatePicker选中的值方法
2018/10/02 Javascript
详解如何在Angular优雅编写HTTP请求
2018/12/05 Javascript
对layui初始化列表的CheckBox属性详解
2019/09/13 Javascript
vue 路由守卫(导航守卫)及其具体使用
2020/02/25 Javascript
django_orm查询性能优化方法
2018/08/20 Python
Python实现的多进程拷贝文件并显示百分比功能示例
2019/04/09 Python
python 含子图的gif生成时内存溢出的方法
2019/07/07 Python
Kathmandu新西兰官网:新西兰户外运动品牌
2019/07/27 全球购物
linux面试题参考答案(9)
2016/01/29 面试题
工程造价自荐信
2013/10/09 职场文书
英语文学专业学生的自我评价
2013/10/31 职场文书
学生会主席竞聘书
2014/03/31 职场文书
中学生国旗下讲话稿
2014/04/26 职场文书
纺织工程专业推荐信
2014/09/08 职场文书
中层干部考核评语
2015/01/04 职场文书
中标通知书
2015/04/17 职场文书
2016年学校“3.12”植树节活动总结
2016/03/16 职场文书
Python机器学习三大件之一numpy
2021/05/10 Python
Python实现随机生成迷宫并自动寻路
2021/06/13 Python
PostgreSQL自动更新时间戳实例代码
2021/11/27 PostgreSQL
Win11跳过联网界面创建本地管理账户的3种方法
2022/04/20 数码科技
python小型的音频操作库mp3Play
2022/04/24 Python
Vue 打包后相对路径的引用问题
2022/06/05 Vue.js