PHP excel读取excel文件转换为数组
/*
备注:先去下载PHP EXCEL——http://download-codeplex.sec.s-msft.com/Download/Release?ProjectName=phpexcel&DownloadId=809023&FileTime=130382506270130000&Build=20907
*/ /*
* 将excel转换为数组 by aibhsc
* */
require(ROOT_PATH . 'includes/PHPExcel.php');//引入PHP EXCEL类
function format_excel2array($filePath='',$sheet=){
if(empty($filePath) or !file_exists($filePath)){die('file not exists');}
$PHPReader = new PHPExcel_Reader_Excel2007(); //建立reader对象
if(!$PHPReader->canRead($filePath)){
$PHPReader = new PHPExcel_Reader_Excel5();
if(!$PHPReader->canRead($filePath)){
echo 'no Excel';
return ;
}
}
$PHPExcel = $PHPReader->load($filePath); //建立excel对象
$currentSheet = $PHPExcel->getSheet($sheet); //**读取excel文件中的指定工作表*/
$allColumn = $currentSheet->getHighestColumn(); //**取得最大的列号*/
$allRow = $currentSheet->getHighestRow(); //**取得一共有多少行*/
$data = array();
for($rowIndex=;$rowIndex<=$allRow;$rowIndex++){ //循环读取每个单元格的内容。注意行从1开始,列从A开始
for($colIndex='A';$colIndex<=$allColumn;$colIndex++){
$addr = $colIndex.$rowIndex;
$cell = $currentSheet->getCell($addr)->getValue();
if($cell instanceof PHPExcel_RichText){ //富文本转换字符串
$cell = $cell->__toString();
}
$data[$rowIndex][$colIndex] = $cell;
}
}
return $data;
} 使用方法:
$filePath = ROOT_PATH.'data/diamondStock.xlsx'; //钻石库存文件
$data = format_excel2array($filePath);
print_r($data);die; 输出结果示例: Array
(
[] => Array
(
[A] => 商品编号
[B] => 商品名称
[C] => 总重量
[D] => 进货价格
[E] => 销售价格
[F] => 4C备注
) [] => Array
(
[A] =>
[B] => GIA-
[C] => 0.7
[D] =>
[E] =>
[F] => G色、.7ct、SI1、FR
) [] => Array
(
[A] =>
[B] => GIA-
[C] => 0.7
[D] =>
[E] =>
[F] => G色、.7ct、SI1、FR
) [] => Array
(
[A] =>
[B] => GIA-
[C] => 0.7
[D] =>
[E] =>
[F] => G色、.7ct、SI1、FR
) [] => Array
(
[A] =>
[B] => GIA-
[C] => 0.7
[D] =>
[E] =>
[F] => G色、.7ct、SI1、FR
) [] => Array
(
[A] =>
[B] => GIA-
[C] => 0.7
[D] =>
[E] =>
[F] => G色、.7ct、SI1、FR
) [] => Array
(
[A] =>
[B] => GIA-
[C] => 0.7
[D] =>
[E] =>
[F] => G色、.7ct、SI1、FR
) [] => Array
(
[A] =>
[B] => GIA-
[C] => 0.7
[D] =>
[E] =>
[F] => G色、.7ct、SI1、FR
) [] => Array
(
[A] =>
[B] => GIA-
[C] => 0.7
[D] =>
[E] =>
[F] => G色、.7ct、SI1、FR
) [] => Array
(
[A] =>
[B] => GIA-
[C] => 0.7
[D] =>
[E] =>
[F] => G色、.7ct、SI1、FR
) [] => Array
(
[A] =>
[B] => GIA-
[C] => 0.7
[D] =>
[E] =>
[F] => G色、.7ct、SI1、FR
) [] => Array
(
[A] =>
[B] => GIA-
[C] => 0.7
[D] =>
[E] =>
[F] => G色、.7ct、SI1、FR
) [] => Array
(
[A] =>
[B] => GIA-
[C] => 0.7
[D] =>
[E] =>
[F] => G色、.7ct、SI1、FR
) [] => Array
(
[A] =>
[B] => GIA-
[C] => 0.7
[D] =>
[E] =>
[F] => G色、.7ct、SI1、FR
) )
PHP excel读取excel文件转换为数组的更多相关文章
- java的poi技术下载Excel模板上传Excel读取Excel中内容(SSM框架)
使用到的jar包 JSP: client.jsp <%@ page language="java" contentType="text/html; charset= ...
- PHP读取txt文件到数组
$file_path = "test.txt"; if(file_exists($file_path)){ $file_arr = file($file_path); for($i ...
- 服务器不装Excel读取Excel并转换DataTable
原来是用OleDb.4.0组件读取Excel,但是放到服务器后 傻了,服务器没装Excel ,而且领导说不可以装 没办法,只好自己重新找下代码 在CodeProject找到一个开源的dll,一阵欢喜啊 ...
- Microsoft.Office.Interop.Excel 读取 excel 中的 checkbox 和 radio
using Excel = Microsoft.Office.Interop.Excel; Excel.Application excelapp = new Excel.Application(); ...
- C#导入Excel|读取Excel方法
OleDbConnection读取 /// <summary> /// 返回Excel数据源 /// </summary> /// < ...
- php逐行读取txt文件写入数组的方法
使用说明: 采用fopen 方法,逐行读取数据,并使用feof($fp) 判断是否文件截止,最后通过filter() 方法,去除空白行,得到所需数据 $file = fopen("user ...
- phpexcel如何读取excel的数据和如何导出数据到excel
phpexcel如何读取excel的数据和如何导出数据到excel 一.总结 一句话总结:去官网看参考手册和api,或者找中文的博客或者参考手册 1.phpexcel插件如何下载? 其实这些插件不仅可 ...
- 利用PHPExcel读取Excel的数据和导出数据到Excel
PHPExcel是一个PHP类库,用来帮助我们简单.高效实现从Excel读取Excel的数据和导出数据到Excel.也是我们日常开发中,经常会遇到的使用场景.比如有个客户信息表,要批量导出发给同事,我 ...
- asp.net mvc Dateset读取Excel数据
//处理Excel //读取Excel [NonAction] public static DataSet ExcelToDS(string Path) { //根据情况选择合适的连接字符,参考msd ...
随机推荐
- 洛谷 P3690 Link Cut Tree
题目背景 动态树 题目描述 给定N个点以及每个点的权值,要你处理接下来的M个操作.操作有4种.操作从0到3编号.点从1到N编号. 0:后接两个整数(x,y),代表询问从x到y的路径上的点的权值的xor ...
- 【kruscal】【最小生成树】【搜索】bzoj1016 [JSOI2008]最小生成树计数
不用Matrix-tree定理什么的,一边kruscal一边 对权值相同的边 暴搜即可.将所有方案乘起来. #include<cstdio> #include<algorithm&g ...
- java-List集合遍历,删除或增加特定的元素
1.for(int i=0; i<list.size(); i++) 2.for(Object object : list) 实质调用的 list.iterator() 3.list.iter ...
- Java杂谈2——引用与跟搜索算法
Java中的引用 Java“引用”的概念源于C++,原本的定义相当有限:一个引用(Reference)代表的内存通常用于指向另一块内存区域的起始地址.通过引用类型保存的起始地址,可以找到这个引用所指向 ...
- SQLSERVER LATCH WINDBG
https://mssqlwiki.com/2012/09/07/latch-timeout-and-sql-server-latch/
- Inno Setup入门(十四)——替换安装程序和卸载程序的图标
通常Inno生成的安装文件的图标是一个光盘和显示器,如下图.同时,程序安装好之后,在安装目录下的卸载程序的图标也是一样的,其实我们也可以自己修改. 首先生成的安装文件图标.这个比较简单,只需要在Set ...
- 集合视图UICollectionView 介绍及其示例程序
UICollectionView是一种新的数据展示方式,简单来说可以把它理解成多列的UITableView.如果你用过iBooks的话,可 能你还对书架布局有一定印象,一个虚拟书架上放着你下载和购买的 ...
- kvm : Permission denied
创建虚拟机类型为:“virt type :kvm” 时,会报如下错误: Could not access KVM kernel module: Permission denied failed to ...
- java面试题目
1.Java中的异常处理机制的简单原理和应用.当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常.违反语义规则包括2种情况.一种是JAVA类库内置的语义检查.例如数 ...
- (草稿)spring @value 原理源码解读
一切要从这说起:http://www.cnblogs.com/guazi/p/6698654.html 我们直接开始debug: 这里会遍历所有的需要注入的InjectedElement 这里我们需要 ...