介绍:

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. DEAT NOTE

    动漫 评分/10 评价 进击的巨人 10 献出心脏! Re:从零开始的异世界生活 10 蕾姆蕾姆!!! 反叛的鲁鲁修 10 算无遗策鲁鲁修 末日时在做什么?... 9 谁还不是个珂学家 东京食尸鬼 9 ...

  2. C# Unit test TestInitialize\TestCleanp

    C# TestInitialize\TestCleanp ※※冰馨※※ 2020-12-15 09:19:37 75 收藏分类专栏: VS版权 VS专栏收录该内容197 篇文章1 订阅订阅专栏带有[C ...

  3. JIRA/Jira-cloud Rest API

    官方参考: https://developer.atlassian.com/cloud/jira/platform/rest/v3/ 记录部分有用的 获取用户: /rest/api/2/users/s ...

  4. biancheng-Linux教程

    目录http://c.biancheng.net/linux_tutorial/ 1Linux简介2Linux安装3Linux文件和目录管理4Linux打包(归档)和压缩5Vim文本编辑器6Linux ...

  5. Redis组件的特性,实现一个分布式限流

    分布式---基于Redis进行接口IP限流 场景 为了防止我们的接口被人恶意访问,比如有人通过JMeter工具频繁访问我们的接口,导致接口响应变慢甚至崩溃,所以我们需要对一些特定的接口进行IP限流,即 ...

  6. 部署博客(docker)

    参考:链接 准备一台新的服务器 安全组:8080.80.3306等端口放通 安装docker 参考: 链接 获取最新镜像 docker pull b3log/solo 报错,可能是docker未启动, ...

  7. 解决线程安全问题的方式三:Lock锁 --- JDK5.0新增

    Lock( 锁) 从JDK 5.0开始,Java提供了更强大的线程同步机制--通过显式定义同步锁对象来实现同步.同步锁使用Lock对象充当. java.util.concurrent.locks. ...

  8. 《SpringBoot》史上最全SpringBoot相关注解介绍

    @SpringBootApplication @SpringBootApplication看作是 @Configuration.@EnableAutoConfiguration.@ComponentS ...

  9. 深入理解Mybatis分库分表执行原理

    前言 工作多年,分库分表的场景也见到不少了,但是我仍然对其原理一知半解.趁着放假前时间比较富裕,我想要解答三个问题: 为什么mybatis的mapper.xml文件里的sql不需要拼接表名中的分表? ...

  10. 用 DeepSeek 分析,SaaS 多租户的3种隔离模式,结果。。。

    大家好,我是汤师爷~ 在SaaS模式下,多租户之间的资源隔离是基础且关键的一环. SaaS服务商需要在确保运营效率和控制成本的前提下,搭建一个让多个租户能够同时访问的共享环境. 虽然大家都在用同一套S ...