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 ...
随机推荐
- AE 开发添加新增字段 报错
在为现有要素类新增字段时,有可能会爆出该表正被其他程序或其他人使用,这时我们就会添加失败,解决办法如下: 在新增字段之前,先修改SchemaLock的状态 ISchemaLock pSchemaLoc ...
- 【POI】修改已存在的xls,新添一列后,再保存本文件+获取最大有效行号+获取单元格内容
使用POI版本: ① ② ③ ④ package com.poi.dealXlsx; import java.io.File; import java.io.FileInputStream; impo ...
- 日积月累--exception记录
关于Android的sqlite数据类型text长度限制的问题? 这也许不能称为一个bug,但是比较坑,所以贴在了这里.在Android的sqlite中存储一个字符串,发现总是数据丢失,我去查询sql ...
- NET PROVIDER 连接 Oracle数据库
NET 数据库连接 ORacle http://www.devart.com/ DataDirect http://www.datadirect.com/ Oracle免客户端For . ...
- easyui datagrid checkbox的相关属性整理
DataGrid其中与选择,勾选相关 DataGrid属性: singleSelect boolean 如果为true,则只允许选择一行. false ctrlSelect boolean 在启用多行 ...
- Kubernetes连接外部数据源
Kubernetes架构下比较核心的问题是数据如何persistance,虽然提供了Persistent volumn的方式,但是对于像数据库之类的产品在kubernetes集群环境中运行和管理还是很 ...
- scrapy-splash抓取动态数据例子十
一.介绍 本例子用scrapy-splash抓取活动行网站给定关键字抓取活动信息. 给定关键字:数字:融合:电视 抓取信息内如下: 1.资讯标题 2.资讯链接 3.资讯时间 4.资讯来源 二.网站信息 ...
- Netty4 ServerBootstrap 初始化channelFactory ReflectiveChannelFactory
只需要在启动之前传入你需要用的channel类型就可以了. ServerBootstrap初始化channelFactory过程: 最后我们再来看看这个channelFactory的使用场景:
- 谋哥:玩App怎么赚钱(三)
谋哥每天坚持写文章,如今写作速度是越来越快了,当然这样也能节省点时间.只是坚持每天写,确实须要极大的耐力和毅力,由于偶然事件会影响你心情和灵感.只是我一直相信秦刚老师(微信/QQ1111884 )说的 ...
- 为InfiniBand而哭泣
自古就不乏还没有開始就结束的那种精彩.我称之为殉道者.InfiniBand就是当中之中的一个.尽管它有陨落之势,我依旧要为它鼓掌. 假设说以太网旨在将主机联系在一起,那么InfiniBand的初衷就是 ...