php读取EXCEL文件 php excelreader读取excel文件


Posted in PHP onDecember 06, 2012

php开发中肯定会遇到将excel文件内容导入到数据库的需要,php-excel-reader是一个读取excel的类,可以很轻松的使用它读取excel文件非常方便。

php-excel-reader下载地址: https://3water.com/codes/67223.html

我下载的是php-excel-reader-2.21版本,使用的时候还遇到几个小问题,后面再细说,先奉上php实例:

我使用的excel如下图:

php读取EXCEL文件 php excelreader读取excel文件php代码如下:

<?php 
/*by www.phpddt.com*/ 
header("Content-Type:text/html;charset=utf-8"); 
require_once 'excel_reader2.php'; 
//创建对象 
$data = new Spreadsheet_Excel_Reader(); 
//设置文本输出编码 
$data->setOutputEncoding('UTF-8'); 
//读取Excel文件 
$data->read("example.xls"); 
//$data->sheets[0]['numRows']为Excel行数 
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) { 
//$data->sheets[0]['numCols']为Excel列数 
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) { 
//显示每个单元格内容 
echo $data->sheets[0]['cells'][$i][$j].' '; 
} 
echo '<br>'; 
} 
?>

读取结果截图如下

php读取EXCEL文件 php excelreader读取excel文件再来说说这个类的小问题:

(1)出现Deprecated: Function split() is deprecated in 。。。错误

解决:将excel_reader2.php源码中split改为explode,详情点击php中explode与split的区别介绍

(2)出现Deprecated: Assigning the return value of new by reference is deprecated in错误

解决:将excel_reader2.php源码中$this->_ole =& new OLERead()中 &去掉,因为php5.3中废除了=& 符号直接用=引用

(3)乱码问题解决:

构造函数是function Spreadsheet_Excel_Reader($file='',$store_extended_info=true,$outputEncoding=''),它默认的编码是utf-8,如果不指定,可能会出现乱码问题,可通过$data->setOutputEncoding('GBK');指定,还有如果你使用dump()函数,dump()函数将excel内容一html格式输出,使用htmlentities将字符转化为html的,它默认使用ISO8559-1编码的,所以你要将 excel_reader2.php源码中 htmlentities($val)函数改为htmlentities($val,ENT_COMPAT,"GB2312");才行。

最后来说说,php-excel-reader操作excel中的两个重要的方法

1.dump(),它可以将excel内容以html格式输出:

echo $data->dump(true,true);

2.将excel数据存入数组中,使用$data->sheets,打印下如下:

Array 
( 
[0] => Array 
( 
[maxrow] => 0 
[maxcol] => 0 
[numRows] => 5 
[numCols] => 4 
[cells] => Array 
( 
[1] => Array 
( 
[1] => 编号 
[2] => 姓名 
[3] => 年龄 
[4] => 学号 
) 
[2] => Array 
( 
[1] => 1 
[2] => 小红 
[3] => 22 
[4] => a1000 
) 
[3] => Array 
( 
[1] => 2 
[2] => 小王 
[3] => 33 
[4] => a1001 
) 
[4] => Array 
( 
[1] => 3 
[2] => 小黑 
[3] => 44 
[4] => a1002 
) 
[5] => Array 
( 
[2] => by 
[3] => www.phpddt.com 
) 
) 
[cellsInfo] => Array 
( 
[1] => Array 
( 
[1] => Array 
( 
[xfIndex] => 15 
) 
[2] => Array 
( 
[xfIndex] => 15 
) 
[3] => Array 
( 
[xfIndex] => 15 
) 
[4] => Array 
( 
[xfIndex] => 15 
) 
) 
[2] => Array 
( 
[1] => Array 
( 
[string] => 1 
[raw] => 1 
[rectype] => unknown 
[format] => %s 
[formatIndex] => 0 
[fontIndex] => 0 
[formatColor] => 
[xfIndex] => 15 
) 
[2] => Array 
( 
[xfIndex] => 15 
) 
[3] => Array 
( 
[string] => 22 
[raw] => 22 
[rectype] => unknown 
[format] => %s 
[formatIndex] => 0 
[fontIndex] => 0 
[formatColor] => 
[xfIndex] => 15 
) 
[4] => Array 
( 
[xfIndex] => 15 
) 
) 
[3] => Array 
( 
[1] => Array 
( 
[string] => 2 
[raw] => 2 
[rectype] => unknown 
[format] => %s 
[formatIndex] => 0 
[fontIndex] => 6 
[formatColor] => 
[xfIndex] => 23 
) 
[2] => Array 
( 
[xfIndex] => 23 
) 
[3] => Array 
( 
[string] => 33 
[raw] => 33 
[rectype] => unknown 
[format] => %s 
[formatIndex] => 0 
[fontIndex] => 6 
[formatColor] => 
[xfIndex] => 23 
) 
[4] => Array 
( 
[xfIndex] => 23 
) 
) 
[4] => Array 
( 
[1] => Array 
( 
[string] => 3 
[raw] => 3 
[rectype] => unknown 
[format] => %s 
[formatIndex] => 0 
[fontIndex] => 0 
[formatColor] => 
[xfIndex] => 15 
) 
[2] => Array 
( 
[xfIndex] => 15 
) 
[3] => Array 
( 
[string] => 44 
[raw] => 44 
[rectype] => unknown 
[format] => %s 
[formatIndex] => 0 
[fontIndex] => 0 
[formatColor] => 
[xfIndex] => 15 
) 
[4] => Array 
( 
[xfIndex] => 15 
) 
) 
[5] => Array 
( 
[2] => Array 
( 
[xfIndex] => 15 
) 
[3] => Array 
( 
[xfIndex] => 24 
[hyperlink] => Array 
( 
[flags] => 23 
[desc] => www.phpddt.com 
[link] => http://www.phpddt.co 
) 
) 
) 
) 
) 
[1] => Array 
( 
[maxrow] => 0 
[maxcol] => 0 
[numRows] => 0 
[numCols] => 0 
) 
[2] => Array 
( 
[maxrow] => 0 
[maxcol] => 0 
[numRows] => 0 
[numCols] => 0 
) 
)

这样你应该知道怎么取excel中的数据了,好了,使用php-excel-reader读取excel文件就是这么简单
PHP 相关文章推荐
php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
Aug 21 PHP
PHP笔记之:基于面向对象设计的详解
May 14 PHP
分享下PHP register_globals 值为on与off的理解
Sep 26 PHP
php接口数据加密、解密、验证签名
Mar 12 PHP
微信API接口大全
Apr 15 PHP
PHP开发Apache服务器配置
Jul 15 PHP
php调用淘宝开放API实现根据卖家昵称获取卖家店铺ID的方法
Jul 29 PHP
PHP中Closure类的使用方法及详解
Oct 09 PHP
php与c 实现按行读取文件实例代码
Jan 03 PHP
PHP静态成员变量
Feb 14 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 16 PHP
浅谈php常用的7大框架的优缺点
Jul 20 PHP
php excel reader读取excel内容存入数据库实现代码
Dec 06 #PHP
PHPMailer使用教程(PHPMailer发送邮件实例分析)
Dec 06 #PHP
php单例模式实现(对象只被创建一次)
Dec 05 #PHP
利用php实现禁用IE和火狐的缓存问题
Dec 03 #PHP
php自动给文章加关键词链接的函数代码
Nov 29 #PHP
PHP文章按日期(月日)SQL归档语句
Nov 29 #PHP
PHP以及MYSQL日期比较方法
Nov 29 #PHP
You might like
获取PHP警告错误信息的解决方法
2013/06/03 PHP
PHP中定义数组常量(array常量)的方法
2014/11/17 PHP
php的4种常用运行方式详解
2016/12/22 PHP
PHP小程序支付功能完整版【基于thinkPHP】
2019/03/26 PHP
Javascript !!的作用
2008/12/04 Javascript
JavaScript DOM学习第八章 表单错误提示
2010/02/19 Javascript
JavaScript实现随机替换图片的方法
2015/04/16 Javascript
基于JQuery实现仿网易邮箱全屏动感滚动插件fullPage
2015/09/20 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
vue.js通过自定义指令实现数据拉取更新的实现方法
2016/10/18 Javascript
Angular2 路由问题修复详解
2017/03/01 Javascript
详解Angular2 之 结构型指令
2017/06/21 Javascript
ES6扩展运算符用法实例分析
2017/10/31 Javascript
vue-router3.0版本中 router.push 不能刷新页面的问题
2018/05/10 Javascript
bootstrap动态调用select下拉框的实例代码
2018/08/09 Javascript
VUE实现图片验证码功能
2020/11/18 Javascript
python利用Guetzli批量压缩图片
2017/03/23 Python
Python计算两个日期相差天数的方法示例
2017/05/23 Python
Python内置模块hashlib、hmac与uuid用法分析
2018/02/12 Python
python实现微信自动回复功能
2018/04/11 Python
Python 实现在文件中的每一行添加一个逗号
2018/04/29 Python
python判断输入日期为第几天的实例
2018/11/13 Python
python 内置模块详解
2019/01/01 Python
PIL对上传到Django的图片进行处理并保存的实例
2019/08/07 Python
flask/django 动态查询表结构相同表名不同数据的Model实现方法
2019/08/29 Python
Django中使用MySQL5.5的教程
2019/12/18 Python
Python测试线程应用程序过程解析
2019/12/31 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
2020/01/16 Python
python中pop()函数的语法与实例
2020/12/01 Python
Django自带的用户验证系统实现
2020/12/18 Python
出租车拒载检讨书
2015/01/28 职场文书
社区活动总结范文
2015/05/07 职场文书
暑期家教宣传单
2015/07/14 职场文书
三严三实学习心得体会(精选N篇)
2016/01/05 职场文书
2016党员干部反腐倡廉心得体会
2016/01/13 职场文书
python实现简易名片管理系统
2021/04/11 Python