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 相关文章推荐
一个用于MySQL的PHP XML类
Oct 09 PHP
Function eregi is deprecated (解决方法)
Jun 21 PHP
PHP Class&amp;Object -- 解析PHP实现二叉树
Jun 25 PHP
php防止sql注入代码实例
Dec 18 PHP
destoon后台网站设置变成空白的解决方法
Jun 21 PHP
php使用$_POST或$_SESSION[]向js函数传参
Sep 16 PHP
php写入、删除与复制文件的方法
Jun 20 PHP
详解PHP中的状态模式编程
Aug 11 PHP
PHP中register_shutdown_function函数的基础介绍与用法详解
Nov 28 PHP
Thinkphp5+uploadify实现的文件上传功能示例
May 26 PHP
Laravel路由研究之domain解决多域名问题的方法示例
Apr 04 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
Jul 06 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
对盗链说再见...
2006/10/09 PHP
《PHP边学边教》(02.Apache+PHP环境配置――下篇)
2006/12/13 PHP
PHP无限分类的类
2007/01/02 PHP
利用php+mysql来做一个功能强大的在线计算器
2010/10/12 PHP
浅谈PHP中静态方法和非静态方法的相互调用
2016/10/04 PHP
php 删除一维数组中某一个值元素的操作方法
2018/02/01 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
jQuery实现简洁的导航菜单效果
2015/11/23 Javascript
javascript跑马灯抽奖实例讲解
2020/04/17 Javascript
JS获取IMG图片高宽的简单实例
2016/05/17 Javascript
JS小数运算出现多为小数问题的解决方法
2016/06/02 Javascript
jQuery图片左右滚动代码 有左右按钮实例
2016/06/20 Javascript
浅析JavaScript函数的调用模式
2016/08/10 Javascript
AngularJS辅助库browserTrigger用法示例
2016/11/03 Javascript
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
jQuery+koa2实现简单的Ajax请求的示例
2018/03/06 jQuery
原生JS实现的简单小钟表功能示例
2018/08/30 Javascript
vsCode安装使用教程和插件安装方法
2020/08/24 Javascript
JS重学系列之聊聊new操作符
2019/03/04 Javascript
解决layer 动态加载select 失效的问题
2019/09/18 Javascript
Vue实现指令式动态追加小球动画组件的步骤
2020/12/18 Vue.js
Python入门篇之函数
2014/10/20 Python
Python基于回溯法子集树模板解决找零问题示例
2017/09/11 Python
详解python多线程、锁、event事件机制的简单使用
2018/04/27 Python
解决PyCharm同目录下导入模块会报错的问题
2018/10/13 Python
Python中创建二维数组
2018/10/17 Python
Python求离散序列导数的示例
2019/07/10 Python
python3.6+selenium实现操作Frame中的页面元素
2019/07/16 Python
大学运动会入场词
2014/02/22 职场文书
工人先锋号事迹材料
2014/12/24 职场文书
预备党员入党感言
2015/08/01 职场文书
2016幼儿园新学期寄语
2015/12/03 职场文书
Css预编语言及区别详解
2021/04/25 HTML / CSS
python中的被动信息搜集
2021/04/29 Python
CSS中实现动画效果-附案例
2022/02/28 HTML / CSS
mysql中关键词exists的用法实例详解
2022/06/10 MySQL