phpexcel读取excel的xls xlsx csv格式
我之前写过一篇PHP读取csv文件的内容
上代码index.php
<?php /**
*
* @author XC
*
*/
class Excel
{
public $currentSheet;
public $filePath;
public $fileType;
public $sheetIndex=;
public $allColumn;
public $allRow;
public function initialized($filePath) {
if (file_exists($filePath)) {
$this->filePath=$filePath;
}else{
return array();
}
//以硬盘方式缓存
$cacheMethod = PHPExcel_CachedObjectStorageFactory:: cache_to_discISAM;
$cacheSettings = array();
PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings);
$file_ext=strtolower(pathinfo($this->filePath, PATHINFO_EXTENSION));
switch ($file_ext) {
case 'csv':
$this->fileType='csv';
break;
case 'xlsx':
$this->fileType='excel';
break;
case 'xls':
$this->fileType='excel';
break;
default:
$this->fileType='';
break;
} if ($this->fileType=='csv') {
$PHPReader = new PHPExcel_Reader_CSV(); //默认字符集
$PHPReader->setInputEncoding('GBK'); //默认分隔符
$PHPReader->setDelimiter(','); if(!$PHPReader->canRead($this->filePath)){
return array();
}
}elseif ($this->fileType=='excel'){
$PHPReader = new PHPExcel_Reader_Excel2007(); if(!$PHPReader->canRead($this->filePath)){
$PHPReader = new PHPExcel_Reader_Excel5(); if(!$PHPReader->canRead($this->filePath)){
return array();
}
}
}else{
return array();
} $PHPReader->setReadDataOnly(true);
$PHPExcel = $PHPReader->load($this->filePath);
$this->currentSheet = $PHPExcel->getSheet((int)$this->sheetIndex);
//$this->currentSheet = $PHPExcel->getActiveSheet();
$this->allColumn=$this->currentSheet->getHighestColumn();
$this->allRow=$this->currentSheet->getHighestRow();
} public function fetch($beginRow=NULL, $endRow=NULL){
$currentSheet=$this->currentSheet;
$allColumn=$this->allColumn;$allRow=$this->allRow;
$dataSrc=$data=array(); //获取列标题
for($currentColumn= 'A';$currentColumn<= $allColumn; $currentColumn++){
$val = $currentSheet->getCellByColumnAndRow(ord($currentColumn) - , )->getValue();//ord()將字符转为十进制数
$dataSrc[ord($currentColumn) - ]=strtolower(trim($val));}
//echo implode("\t", $dataSrc);
$beginRow=$beginRow ? $beginRow : ;
$endRow=$endRow ? $endRow : $allRow;
for($currentRow = $beginRow ;$currentRow <= $endRow ;$currentRow++){
//从第A列开始输出$dataRow=array();
for($currentColumn= 'A';$currentColumn<= $allColumn; $currentColumn++){
$val = $currentSheet->getCellByColumnAndRow(ord($currentColumn) - ,$currentRow)->getValue();//ord()將字符转为十进制数
$dataRow[$dataSrc[ord($currentColumn) - ]]=$val;
//单元级数据处理 ... 格式化日期等
} //行级数据处理 ... if($dataRow){
$data[]=$dataRow;}
} //echo '<pre>', print_r($data), '</pre>'; //echo "\n";
return $data;
}
} require_once 'Classes/PHPExcel.php';
$import=new Excel();
$import->initialized(dirname(__FILE__) . '/test.xlsx');
header("Content-type: text/html; charset=utf-8");
echo '<pre>', print_r($import->fetch()), '</pre>'; ?>
其中的$import->initialized(dirname(__FILE__) . '/test.xlsx'); test.xlsx修改为自己的execl路径
require_once 'Classes/PHPExcel.php';修改为你自己PHPExcel.php所在的路径
PHPExcel.php可从官网下载 http://phpexcel.codeplex.com/
phpexcel读取excel的xls xlsx csv格式的更多相关文章
- java读取excel文件(.xls,xlsx,csv)
前提,maven工程通过poi读写excel文件,需要在pom.xml中配置依赖关系: 在<dependencies>中添加如下代码 <dependency> <grou ...
- PHPExcel读取excel文件示例
PHPExcel读取excel文件示例PHPExcel最新版官方下载网址:http://phpexcel.codeplex.com/PHPExcel是一个非常方便生成Excel格式文件的类,官方下载包 ...
- 利用PHPExcel读取Excel的数据和导出数据到Excel
PHPExcel是一个PHP类库,用来帮助我们简单.高效实现从Excel读取Excel的数据和导出数据到Excel.也是我们日常开发中,经常会遇到的使用场景.比如有个客户信息表,要批量导出发给同事,我 ...
- (实用篇)PHPExcel读取Excel文件的实现代码
用PHPExcel读取Excel 2007 或者Excel2003文件,需要的朋友,可以参考下. 涉及知识点: php对excel文件进行循环读取 php对字符进行ascii编码转化,将字符转为十进 ...
- 数组转xls格式的excel文件&数据转csv格式的excle
/** * 数组转xls格式的excel文件 * @param array $data 需要生成excel文件的数组 * @param string $filename 生成的excel文件名 * 示 ...
- Delphi - cxGrid内容xlsx、xls、csv格式导出
.xls格式导出,uses中添加cxGridExportLink 代码如下: function SaveToExcel(gridMain: TcxGrid; FileName: string): st ...
- django 操作 下载 excel xls xlsx csv
网站开发离不开数据的导入导出,本文将介绍一下django如何操作excel 先安装 django-excel pip install django-excel 配置一下url url(r'^downl ...
- Yii2使用PHPExcel读取excel
个人使用过程中保存一些使用PHPExcel的经验,以便后来翻阅:与PHP的Yii框架结合,可以轻松使用.而且根本不用网上所说的修改Yii的自动加载文件等方法.具体使用方法:下载phpoffice ht ...
- PHPExcel读取Excel文件的实现代码
<?php require_once 'PHPExcel.php'; /**对excel里的日期进行格式转化*/ function GetData($val){ $jd = GregorianT ...
随机推荐
- java 多态和内部类
接口跟接口之间存在继承关系 一个接口可以继承多个接口 一个非抽象类:必须实现接口中的所有方法 一个抽象类实现接口 可以不实现接口中的方法 但是继承与抽象类的类必须要是实现接口中的方法 多态:一个对 ...
- jQuery- 表单验证插件-Validation
▓▓▓▓▓▓ 大致介绍 jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法, ...
- Tomcat7.0+的JNDI问题
上次搭建spring+springmvc+mybatis框架时用的第三方连接池jar包,但是部署到tomcat中后访问没有问题,但是启动时报了个JNDI的错,我没用JNDI你给我报什么,fuck!把错 ...
- MySQL Fabric和MyBatis的整合过程中遇到的问题
这是我昨天在整合MySQL Fabric和MyBatis时遇到的问题,花了大半天才解决的问题,解决的过程中在网上查找了很久,都没有找到解决的方案.现在记下来,希望能够帮助有同样问题的朋友.如果各位朋友 ...
- phpcms 整合 discuz!
第一步,进入discuz后台,点击UCenter菜单,然后点击应用管理,接着点击右侧的添加新应用按钮 然后填写应用相关信息: 1.应用类型选择“其他” 2.应该名称填写“phpcms” //此处可以自 ...
- 【leetcode】LRU Cache
题目简述: Design and implement a data structure for Least Recently Used (LRU) cache. It should support t ...
- PL/SQL客户端中执行insert语句,插入中文乱码
问题描述:在PL/SQL客户端中执行insert语句,插入中文乱码 解决方案: 1.执行脚本 select userenv('language') from dual; 结果为AMERICAN_ ...
- Kinect开发随笔①——红外扫描仪(Kinect 数据源)
来源于 MVA 的 快速入门:Kinect for Windows v2 开发 的学习随笔 具体内容为上图所示章节内容 章节内全部代码:GitHub地址点我(链接失效,待补档) <Page &l ...
- 16-1-26---图解HTTP(01)
图解HTTP1.4.2确保可靠性的HTTP协议 按层次分,TCP位于传输层,提供可靠的字节流服务 所谓字节流服务,指为了方便传输,将大块数据分割成以报文为单位的数据包进行管理,而可靠的传输 ...
- Mac使用总结
显示隐藏文件 终端输入:defaults write com.apple.finder AppleShowAllFiles -bool true; KillAll Finder 添加SSHKey Ma ...