介绍:

PHPExcel-1.8.1读取excel

创建 ExcelReader 类:

ExcelReader 类旨在从 Excel 文件中读取数据。它以文件路径作为输入,并提供一个方法来从 Excel 文件中读取数据。

<?php

require_once "lib/PHPExcel-1.8.1/Classes/PHPExcel.php";

class ExcelReader
{
protected $file; public function __construct($file)
{
$this->file = $file;
} public function read($startRow = 1)
{
if (!file_exists($this->file)) {
return false;
} // 创建 Excel 读取器对象
$reader = PHPExcel_IOFactory::createReader('Excel5');
// 获取 Excel 对象
$excel = PHPExcel_IOFactory::load($this->file); // 初始化数据数组
$data = array(); // 获取所有工作表名
$sheetNames = $excel->getSheetNames();
// 遍历工作表
foreach ($sheetNames as $sheetName) {
// 根据表名设置当前工作表
$excel->setActiveSheetIndexByName($sheetName);
// 获取当前工作表对象
$curSheet = $excel->getActiveSheet();
// 获取最大行数和列数
$rows = $curSheet->getHighestRow();
$cols = $curSheet->getHighestColumn(); // 初始化工作表数据数组
$data[$sheetName] = array(); // 循环读取每一行数据
for ($row = $startRow; $row <= $rows; $row++) {
$rowData = array();
// 循环读取每一列数据
for ($col = 'A'; $col <= $cols; $col++) {
$cellValue = $curSheet->getCell($col . $row)->getValue();
// 将单元格值存储到行数据数组中
$rowData[] = $cellValue;
}
// 将行数据存储到工作表数据数组中
$data[$sheetName][] = $rowData;
}
} // 检查 'Sheet1' 是否存在
if(!array_key_exists("Sheet1", $data)){
return false;
} // 返回 'Sheet1' 中的数据
return $data['Sheet1'];
}
} ?>

使用 ExcelReader 类:

使用 PHP 创建 Excel 读取器类的更多相关文章

  1. excel读取 工具类

    package cn.yongche.utils; import java.io.File; import java.io.FileInputStream; import java.io.IOExce ...

  2. 利用poi包装一个简单的Excel读取器.一(适配一个Reader并提供readLine方法)

    通常,读文本我们会使用BufferedReader,它装饰或者说管理了InputStreamReader,同时提供readLine()简化了我们对文本行的读取.就像从流水线上获取产品一样,每当取完一件 ...

  3. {"读取 XML 数据时,超出最大名称表字符计数配额(16384)。。。。通过更改在创建 XML 读取器时所使用的 XmlDictionaryReaderQuotas 对象的 MaxNameTableCharCount 属性,。。

    这个问题倒腾了快一周,看了网上各种解决方案,还看了用谷歌翻译看了全英文的,参照了修改也没能够解决问题. 最后只有自己一行一行断点,一行一行删除代码,各种检测.主要是我在webservice里面新添加几 ...

  4. C# 处理Excel公式(一)——创建、读取Excel公式

    对于数据量较大的表格,需要计算一些特殊数值时,我们通过运用公式能有效提高我们数据处理的速度和效率,对于后期数据的增删改查等的批量操作也很方便.此外,对于某些数值的信息来源,我们也可以通过读取数据中包含 ...

  5. NPOI 创建Excel,数据读取与写入

    <1> using System; using System.Collections.Generic; using System.Linq; using System.Web; using ...

  6. node.js、js读取excel、操作excel、创建excel之js-xlsx.js

    node.js篇 第一步引入包 npm install xlsx -save 第二步使用 var xl =require('xlsx'); //workbook 对象,指的是整份 Excel 文档.我 ...

  7. C# -- 使用Aspose.Cells创建和读取Excel文件

    使用Aspose.Cells创建和读取Excel文件 1. 创建Excel Aspose.Cells.License li = new Aspose.Cells.License(); li.SetLi ...

  8. 使用Apache下poi创建和读取excel文件

    一:使用apache下poi创建excel文档 @Test /* * 使用Apache poi创建excel文件 */ public void testCreateExcel() { // 1:创建一 ...

  9. jsp中excel文件的创建与读取

    1.创建excel文件//这里的jxl不是java的标准jar包,需要在项目中另外加载 import jxl.Workbook; import jxl.write.Label; import jxl. ...

  10. Cookie操作类、 包括创建、读取、修改、获取、销毁cookie

    Cookie操作类. 包括创建.读取.修改.获取.销毁cookie import java.util.Hashtable; import java.util.Iterator; import java ...

随机推荐

  1. 国家和地区代码列表,ISO 3166-1:2006

    本文根据ISO 3166-1:2006(International Standard Norme Internationale) 英文版(含2007年补充说明)整理.与ISO 3166-1:1997相 ...

  2. 对象池框架 commons pool2 原理与实践

    当资源对象的创建/销毁比较耗时的场景下,可以通过"池化"技术,达到资源的复用,以此来减少系统的开销.增大系统吞吐量,比如数据库连接池.线程池.Redis 连接池等都是使用的该方式. ...

  3. Ping测试记录脚本

    @echo off echo PingTest del PingTest_result.txt timeout /t 10 echo=> PingTest_result.txt :TEST ec ...

  4. dart子类的继承

    1 Dart中类的继承 1.子类使用extends关键字来继承父类 2.子类会继承父类里面可见的属性和方法,但是不会继承构造函数 3. 子类能够复写父类的方法 getter和setter方法 2Dar ...

  5. API 设计之禅

    API 设计之禅 译者按:本文翻译自 How to design a good API and why it matters.根据笔者经历,很多大厂程序员所写的代码和大厂内部封装的各种中间件.类库,毫 ...

  6. 分布式事务之2PC两阶段提交

    1. 分布式事务概述 1.1 问题背景 在分布式系统中,业务操作可能跨越多个服务或数据库(如订单服务.库存服务.支付服务),传统单机事务(ACID)无法满足跨网络节点的数据一致性需求. 网络不可靠:服 ...

  7. 云主机(操作系统:CentOS7版本)安装nfs客户端,挂载文件系统

    本文分享自天翼云开发者社区<云主机(操作系统:CentOS7版本)安装nfs客户端,挂载文件系统>,作者:c****n 1.保证宿主机上有nfs-utils 1.1若宿主机yum源不可以用 ...

  8. DeepSeek-R1 技术全景解析:从原理到实践的“炼金术配方” ——附多阶段训练流程图与核心误区澄清

    字数:约3200字|预计阅读时间:8分钟 (调试着R1的API接口,看着控制台瀑布般流淌的思维链日志)此刻我仿佛看到AlphaGo的棋谱在代码世界重生--这是属于推理模型的AlphaZero时刻. D ...

  9. Mac安装Flink

    版本 Flink  flink-1.13.1-bin-scala_2.11.tgz 依赖scala2.12 一.下载 https://archive.apache.org/dist/flink/ 解压 ...

  10. IDEA引入大项目一直updating indices解决办法

    一.如项目不需要某个目录建立索引 右键需要排除的项目