使用 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 ...
随机推荐
- 注册表判断是否安装微软Edge浏览器
自己摸索的,注册表判断是否安装微软Edge浏览器: bool checkInstalledMsEdge() { try { using(var ieKey = Registry.LocalMachin ...
- 用于决策的世界模型 -- 论文 World Models (2018) & PlaNet (2019) 讲解
参考资料: [2411.14499] Understanding World or Predicting Future? A Comprehensive Survey of World Models ...
- MySQL主从复制与读写分离原理
目录1 主从复制与读写分离的意义 1.1 什么是主从复制 1.2 主从数据库的好处和缺点 2 主从复制 2.1 主从复制的形式 2.2 主从复制的原理 2.3 主从复制的模式 异步模式 半同步模式 - ...
- Transformer 原理图解
转载:小白看得懂的 Transformer (图解) 引言 谷歌推出的BERT模型在11项NLP任务中夺得SOTA结果,引爆了整个NLP界.而BERT取得成功的一个关键因素是Transformer的强 ...
- AVX512
最近接触到SIMD编码,就不可避免的查到了AVX指令集,两者有什么关系呢,了解一下? 问:AVX是什么? 答:是一套指令集 下面具体看: AVX 以下内容主要转载自:AVX指令集是什么?它的应用又有哪 ...
- 迁移polardb问题一
环境 polardb版本 <dependency> <groupId>com.aliyun</groupId> <artifactId>polardb- ...
- Solon Cloud Gateway 开发:导引
Solon Cloud Gateway 是 Solon Cloud 体系提供的分布式网关实现(轻量级实现). 分布式网关的特点(相对于本地网关): 提供服务路由能力 提供各种拦截支持 1.分布式网关推 ...
- vue平铺日历组件
vue日历自定义平铺组件 <sy-icon @click="preMon" class="copy-icon" iconClass="iconj ...
- react中类似vue的插槽this.props.children的用法
父组件 <TestHanderClick bg="blue"> <p> 如果我要显示的话,父组件是双标签,子组件中有this.props.children& ...
- 一探究竟!天翼云2023MWC展区“亮”了!
6月28日,2023MWC上海世界移动通信大会(简称"MWC上海")在上海新国际博览中心启幕.中国电信开设"数智万融 畅享未来"主题展区,从科技创新.安全筑防及 ...