使用 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 ...
随机推荐
- [.NET] API网关选择:YARP还是Ocelot?
API网关选择:YARP还是Ocelot? 摘要 随着微服务架构的流行,API网关在系统架构中扮演着越来越重要的角色.在.NET生态中,YARP(Yet Another Reverse Proxy)和 ...
- Airtest使用问题列表
ios 系统为12.4.8,因此安装Xcode 10.3; 问题1: python3: error: unable to find utility "python3", ...
- C# 深度学习框架 TorchSharp 原生训练模型和图像识别-手写数字识别
目录 开始使用 Torch 准备 下载数据集 显示图片 加载数据集 定义网络 优化模型参数 训练模型 保存和加载模型 使用模型识别图片 教程名称:使用 C# 入门深度学习 作者:痴者工良 教程地址:h ...
- 国际认可!天翼云合规领域影响力up!
近日,天翼云科技有限公司成功通过ISO 37301合规管理体系双认证(GB/T 35770-2022/ISO 37301:2021 & CTS GHMS001-2024),标志着公司合规管理和 ...
- [AI/GPT] 硅基流动(SiliconFlow) : AI大模型时代的基础设施
概述:硅基流动(SilliconFlow) 简介 硅基流动(SiliconFlow) 是一家专注于人工智能(AI)基础设施的公司,致力于通过技术创新降低大模型(如生成式AI和大语言模型)的部署和推理成 ...
- JUC并发—7.AQS源码分析三
大纲 1.等待多线程完成的CountDownLatch介绍 2.CountDownLatch.await()方法源码 3.CountDownLatch.coutDown()方法源码 4.CountDo ...
- AI 艺术工具通讯
创刊号 AI 领域的发展速度令人惊叹,回想一年前我们还在为生成正确手指数量的人像而苦苦挣扎的场景,恍如隔世 . 过去两年对开源模型和艺术创作工具而言具有里程碑意义.创意表达的 AI 工具从未像现在这般 ...
- 小米9刷twrp Rec 以及写入Magisk详细教程
首先手机必须先解锁BL锁才能继续: ---------------------- 小米官方BL解锁教程:点此看教程 ---------------------- 解完锁后开始操作: 工具包:点此下载 ...
- 解决2023新版Edge浏览器页面加载不出来问题
如果你遇到2023新版Edge浏览器页面无法加载的问题,可以尝试以下几种解决方法: 检查网络连接:确保你的网络连接正常,可以尝试打开其他网页或使用其他应用程序进行网络测试. 清除浏览器缓存:打开Edg ...
- java.lang.IllegalStateException: File name has been re-used with different files. (flume报错)
报错日志: java.lang.IllegalStateException: File name has been re-used with different files. Spooling ass ...