使用 PHP 创建 Excel 读取器类
介绍:
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 读取器类的更多相关文章
- excel读取 工具类
package cn.yongche.utils; import java.io.File; import java.io.FileInputStream; import java.io.IOExce ...
- 利用poi包装一个简单的Excel读取器.一(适配一个Reader并提供readLine方法)
通常,读文本我们会使用BufferedReader,它装饰或者说管理了InputStreamReader,同时提供readLine()简化了我们对文本行的读取.就像从流水线上获取产品一样,每当取完一件 ...
- {"读取 XML 数据时,超出最大名称表字符计数配额(16384)。。。。通过更改在创建 XML 读取器时所使用的 XmlDictionaryReaderQuotas 对象的 MaxNameTableCharCount 属性,。。
这个问题倒腾了快一周,看了网上各种解决方案,还看了用谷歌翻译看了全英文的,参照了修改也没能够解决问题. 最后只有自己一行一行断点,一行一行删除代码,各种检测.主要是我在webservice里面新添加几 ...
- C# 处理Excel公式(一)——创建、读取Excel公式
对于数据量较大的表格,需要计算一些特殊数值时,我们通过运用公式能有效提高我们数据处理的速度和效率,对于后期数据的增删改查等的批量操作也很方便.此外,对于某些数值的信息来源,我们也可以通过读取数据中包含 ...
- NPOI 创建Excel,数据读取与写入
<1> using System; using System.Collections.Generic; using System.Linq; using System.Web; using ...
- node.js、js读取excel、操作excel、创建excel之js-xlsx.js
node.js篇 第一步引入包 npm install xlsx -save 第二步使用 var xl =require('xlsx'); //workbook 对象,指的是整份 Excel 文档.我 ...
- C# -- 使用Aspose.Cells创建和读取Excel文件
使用Aspose.Cells创建和读取Excel文件 1. 创建Excel Aspose.Cells.License li = new Aspose.Cells.License(); li.SetLi ...
- 使用Apache下poi创建和读取excel文件
一:使用apache下poi创建excel文档 @Test /* * 使用Apache poi创建excel文件 */ public void testCreateExcel() { // 1:创建一 ...
- jsp中excel文件的创建与读取
1.创建excel文件//这里的jxl不是java的标准jar包,需要在项目中另外加载 import jxl.Workbook; import jxl.write.Label; import jxl. ...
- Cookie操作类、 包括创建、读取、修改、获取、销毁cookie
Cookie操作类. 包括创建.读取.修改.获取.销毁cookie import java.util.Hashtable; import java.util.Iterator; import java ...
随机推荐
- 如何设计一个注册中心?以Zookeeper为例
这是小卷对分布式系统架构学习的第8篇文章,在写第2篇文章已经讲过服务发现了,现在就从组件工作原理入手,讲讲注册中心 以下是面试题: 某团面试官:你来说说怎么设计一个注册中心? 我:注册中心嘛,就要有服 ...
- 2022 年万圣节 Github 彩蛋
记录每年 Github 万圣节彩蛋,也记录有来项目成长历程. 2022 万圣节彩蛋 2021 万圣节彩蛋 2020 万圣节彩蛋
- Golang-函数5
http://c.biancheng.net/golang/func/ Go语言函数(Go语言func) 函数构成了代码执行的逻辑结构,在Go语言中,函数的基本组成为:关键字 func.函数名.参数列 ...
- 2025-01-22:使二进制数组全部等于 1 的最少操作次数Ⅱ。用go语言,给定一个二进制数组 nums,你可以对数组进行以下操作任意次(包括0次): 选择任何一个下标 i,并将从该下标开始到数组末
2025-01-22:使二进制数组全部等于 1 的最少操作次数Ⅱ.用go语言,给定一个二进制数组 nums,你可以对数组进行以下操作任意次(包括0次): 选择任何一个下标 i,并将从该下标开始到数组末 ...
- 初识VPC网络的能力
本文分享自天翼云开发者社区<初识VPC网络的能力>,作者:布小匠 VPC网络的来源 在云计算早期是没有VPC的概念的,有的是虚拟网络和虚拟路由器的功能.虚拟网络的作用是为用户提供一个虚拟的 ...
- Python无网络安装插件
无网络安装插件 1.准备外网电脑,搭建所需python插件 2.将需要导出的插件,导出列表 pip freeze > .\req.txt 3.将插件导出到目录 pip download -r . ...
- ClickHouse常用操作
一.客户端连接1.1 客户端连接ck./clickhouse-client -h 127.0.0.1 --port 9900 -u default --password 123456 -m 1.2 h ...
- Hive源码解析环境搭建
一.准备工作 1.1 下载地址 https://github.com/apache/hive https://dlcdn.apache.org/hive/ 版本:2.3.9 1.2 环境依赖 had ...
- Flink学习(四) Flink Table & SQL 实现wordcount Java版本
Flink Table & SQL WordCountFlink SQL 是 Flink 实时计算为简化计算模型,降低用户使用实时计算门槛而设计的一套符合标准 SQL 语义的开发语言. 一个完 ...
- LCP 11. 期望个数统计
地址:https://leetcode-cn.com/problems/qi-wang-ge-shu-tong-ji/ <?php /** 某互联网公司一年一度的春招开始了,一共有 n 名面试者 ...