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 include,include_once,require,require_once
Sep 05 PHP
PHP开发中的错误收集,不定期更新。
Feb 03 PHP
php stripslashes和addslashes的区别
Feb 03 PHP
PHP获取一个字符串中间一部分字符的方法
Aug 19 PHP
php中Session的生成机制、回收机制和存储机制探究
Aug 19 PHP
php数组去除空值函数分享
Feb 02 PHP
PHP多线程编程之管道通信实例分析
Mar 07 PHP
php调用淘宝开放API实现根据卖家昵称获取卖家店铺ID的方法
Jul 29 PHP
PHP strcmp()和strcasecmp()的区别实例
Nov 05 PHP
php对接java现实加签验签的实例
Nov 25 PHP
php高清晰度无损图片压缩功能的实现代码
Dec 09 PHP
Centos7 Yum安装PHP7.2流程教程详解
Jul 02 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将回调函数作用到给定数组单元的方法
2014/08/19 PHP
Zend Framework自定义Helper类相关注意事项总结
2016/03/14 PHP
PHP正则匹配反斜杠'\'和美元'$'的方法
2017/02/08 PHP
TNC vs BOOM BO3 第一场2.13
2021/03/10 DOTA
JavaScript中Object和Function的关系小结
2009/09/26 Javascript
JavaScript 数组循环引起的思考
2010/01/01 Javascript
jquery Tab效果和动态加载的简单实例
2013/12/11 Javascript
JavaScript中一个奇葩的IE浏览器判断方法
2014/04/16 Javascript
jquery ztree异步搜索(搜叶子)实践
2016/02/25 Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
2016/06/03 Javascript
浅谈js中子页面父页面方法 变量相互调用
2016/08/04 Javascript
使用Bootstrap美化按钮实例代码(demo)
2017/02/03 Javascript
浅谈JS验证表单文本域输入空格的问题
2017/02/14 Javascript
JS实现页面打印(整体、局部)
2017/08/18 Javascript
微信小程序getPhoneNumber获取用户手机号
2017/09/29 Javascript
JavaScript时间戳与时间日期间相互转换
2017/12/11 Javascript
vue实现移动端省市区选择
2019/09/27 Javascript
Python解惑之True和False详解
2017/04/24 Python
python中set()函数简介及实例解析
2018/01/09 Python
python3.7简单的爬虫实例详解
2019/07/08 Python
python3+django2开发一个简单的人员管理系统过程详解
2019/07/23 Python
Python sep参数使用方法详解
2020/02/12 Python
无需压缩软件,用python帮你操作压缩包
2020/08/17 Python
python爬虫如何解决图片验证码
2021/02/14 Python
浅谈CSS3中的变形功能-transform功能
2017/12/27 HTML / CSS
HTML5标签小集
2011/08/02 HTML / CSS
浅析HTML5 Landmark
2020/09/11 HTML / CSS
Canvas实现放大镜效果完整案例分析(附代码)
2020/11/26 HTML / CSS
俄罗斯的精英皮具:Wittchen
2018/01/29 全球购物
教育见习报告范文
2014/11/03 职场文书
2015年世界无烟日活动方案
2015/05/04 职场文书
基层党建工作简报
2015/07/21 职场文书
事业单位工作人员2015年度思想工作总结
2015/10/15 职场文书
选调生挂职锻炼工作总结
2015/10/23 职场文书
python实现剪贴板的操作
2021/07/01 Python
数据分析数据库ClickHouse在大数据领域应用实践
2022/04/03 MySQL