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读MYSQL中文乱码的解决方法
Dec 17 PHP
php面向对象全攻略 (二) 实例化对象 使用对象成员
Sep 30 PHP
说说PHP的autoLoad自动加载机制
Sep 27 PHP
PHP中如何定义和使用常量
Feb 28 PHP
php使用cookie实现记住用户名和密码实现代码
Apr 27 PHP
PHP基于工厂模式实现的计算器实例
Jul 16 PHP
浅谈PHP实现大流量下抢购方案
Dec 15 PHP
php框架CodeIgniter主从数据库配置方法分析
May 25 PHP
PHP实现的杨辉三角求解算法分析
Mar 11 PHP
PHP7 安装event扩展的实现方法
Oct 08 PHP
PHP cookie与session会话基本用法实例分析
Nov 18 PHP
PHP 出现 http500 错误的解决方法
Mar 09 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
MySql中正则表达式的使用方法描述
2008/07/30 PHP
ThinkPHP提交表单时默认自动转义的解决方法
2014/11/25 PHP
thinkphp数据查询和遍历数组实例
2014/11/28 PHP
jQuery 拖动层(在可视区域范围内)
2012/05/24 Javascript
深入领悟JavaScript中的面向对象
2013/11/18 Javascript
JavaScript中的ubound函数使用实例
2014/11/04 Javascript
JS实现仿google、百度搜索框输入信息智能提示的实现方法
2015/04/20 Javascript
jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象
2016/01/23 Javascript
JavaScript中的this机制
2016/01/30 Javascript
Angular中$cacheFactory的作用和用法实例详解
2016/08/19 Javascript
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
2016/12/15 Javascript
vue组件生命周期详解
2017/11/07 Javascript
React路由管理之React Router总结
2018/05/10 Javascript
完美解决linux下node.js全局模块找不到的情况
2018/05/16 Javascript
vue: WebStorm设置快速编译运行的方法
2018/10/18 Javascript
详解详解Python中writelines()方法的使用
2015/05/25 Python
Python3使用requests登录人人影视网站的方法
2016/05/11 Python
Python模拟脉冲星伪信号频率实例代码
2018/01/03 Python
浅谈python标准库--functools.partial
2019/03/13 Python
python模块导入的方法
2019/10/24 Python
使用CSS3实现多列布局与多背景的技巧
2016/02/29 HTML / CSS
浅谈CSS3 动画卡顿解决方案
2019/01/02 HTML / CSS
PurCotton全棉时代官网:100%天然棉花生产的生活护理用品
2016/11/18 全球购物
香港交友网站:be2香港
2018/07/22 全球购物
电大毕业自我鉴定
2014/02/03 职场文书
施工材料员岗位职责
2014/02/12 职场文书
安全责任书范文
2014/08/25 职场文书
关于读书的演讲稿1000字
2014/08/27 职场文书
2014年教师德育工作总结
2014/11/10 职场文书
2015小学教师年度工作总结
2015/05/12 职场文书
社区服务活动感想
2015/08/11 职场文书
原生CSS实现文字无限轮播的通用方法
2021/03/30 HTML / CSS
HTML中table表格拆分合并(colspan、rowspan)
2021/04/07 HTML / CSS
阿里云服务器(windows)手动部署FTP站点详细教程
2022/08/05 Servers