利用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 相关文章推荐
基于mysql的论坛(2)
Oct 09 PHP
php不用正则采集速度探究总结
Mar 24 PHP
PHP strtotime函数详解
Dec 18 PHP
php 冒泡排序 交换排序法
May 10 PHP
php中Smarty模板初体验
Aug 08 PHP
php发送html格式文本邮件的方法
Jun 10 PHP
php版微信自动登录并获取昵称的方法
Sep 23 PHP
PHP实现图片的等比缩放和Logo水印功能示例
May 04 PHP
php写入mysql中文乱码的实例解决方法
Sep 17 PHP
Laravel监听数据库访问,打印SQL的例子
Oct 24 PHP
PHP实现基本留言板功能原理与步骤详解
Mar 26 PHP
Laravel5.3+框架定义API路径取消CSRF保护方法详解
Apr 06 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
使用sockets:从新闻组中获取文章(三)
2006/10/09 PHP
用文本文件制作留言板提示(上)
2006/10/09 PHP
php sybase_fetch_array使用方法
2014/04/15 PHP
PHP比较运算符的详细介绍
2015/09/29 PHP
PHP中strpos、strstr和stripos、stristr函数分析
2016/06/11 PHP
PHP getNamespaces()函数讲解
2019/02/03 PHP
JQuery的Ajax中Post方法传递中文出现乱码的解决方法
2014/10/21 Javascript
jquery复选框多选赋值给文本框的方法
2015/01/27 Javascript
浅谈js中的闭包
2015/03/16 Javascript
javascript基于prototype实现类似OOP继承的方法
2015/12/16 Javascript
jQuery soColorPacker 网页拾色器
2016/06/22 Javascript
使用jQuery Ajax 请求webservice来实现更简练的Ajax
2016/08/04 Javascript
vue.js使用v-model指令实现的数据双向绑定功能示例
2018/05/22 Javascript
15分钟深入了解JS继承分类、原理与用法
2019/01/19 Javascript
jquery实现Ajax请求的几种常见方式总结
2019/05/28 jQuery
Vue3.x源码调试的实现方法
2019/10/13 Javascript
JavaScript canvas基于数组生成柱状图代码实例
2020/03/06 Javascript
[01:02:09]Liquid vs TNC 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21
2020/07/19 DOTA
使用wxPython获取系统剪贴板中的数据的教程
2015/05/06 Python
Python中的index()方法使用教程
2015/05/18 Python
Python函数式编程指南(一):函数式编程概述
2015/06/24 Python
Django实现组合搜索的方法示例
2018/01/23 Python
python构建深度神经网络(DNN)
2018/03/10 Python
从DataFrame中提取出Series或DataFrame对象的方法
2018/11/10 Python
Python绘制股票移动均线的实例
2019/08/24 Python
Python中低维数组填充高维数组的实现
2019/12/02 Python
Python3 把一个列表按指定数目分成多个列表的方式
2019/12/25 Python
python中count函数简单的实例讲解
2020/02/06 Python
Python使用os.listdir和os.walk获取文件路径
2020/05/21 Python
青年文明号事迹材料
2014/01/18 职场文书
祖国在我心中演讲稿500字
2014/05/04 职场文书
2014年人事工作总结范文
2014/11/19 职场文书
2015年幼儿园个人工作总结
2015/04/25 职场文书
转变工作作风心得体会
2016/01/23 职场文书
Python爬取科目四考试题库的方法实现
2021/03/30 Python
Python入门之基础语法详解
2021/05/11 Python