Phpspreadsheet 中文文档(八)读写文件+读取文件

PhpOffice/PhpSpreadsheet读取和写入Excel PhpSpreadsheet读取和写入Excel 阅读详情

配置设定

将PhpSpreadsheet文件包含在脚本中之后,但是在实例化Spreadsheet对象或加载工作簿文件之前,可以设置许多配置选项,这些配置选项将影响脚本的后续行为。

单元格收集缓存

默认情况下,PhpSpreadsheet将所有单元格对象保留在内存中,但是您可以指定替代方法来以降低速度为代价来减少内存消耗。阅读有关内存节省的更多信息。

为了使细胞缓存,您必须提供自己的实现,像这样的缓存:

$cache = new MyCustomPsr16Implementation();

\PhpOffice\PhpSpreadsheet\Settings::setCache($cache);

语言/地区

PhpSpreadsheet中已包含一些本地化元素。您可以通过更改设置来设置语言环境。要将语言环境设置为巴西葡萄牙语,请使用:

$locale = 'pt_br';
$validLocale = \PhpOffice\PhpSpreadsheet\Settings::setLocale($locale);
if (!$validLocale) {
    echo 'Unable to set locale to ' . $locale . " - reverting to en_us" . PHP_EOL;
}
  • 如果巴西葡萄牙语文件不可用,则将启用葡萄牙语
  • 如果没有葡萄牙语文件,则该setLocale()方法将返回错误,并且将始终使用美式英语(en_us)设置。

设置语言环境后,可以使用可用功能的更多详细信息,包括当前支持的语言和语言环境列表,可以在“公式的语言环境设置”中找到。

工作表

工作表是单元格,公式,图像,图形等的集合。它包含代表电子表格工作表所需的所有数据。

当您从电子表格文件加载工作簿时,它将与所有现有工作表一起加载(除非您指定仅应加载某些工作表)。从非电子表格文件(例如CSV或HTML文件)或无法通过名称识别工作表的电子表格格式(例如SYLK)加载时,将创建一个名为“ WorkSheet1”的工作表,其中包含来自该文件。

当您实例化一个新的工作簿时,PhpSpreadsheet将使用一个名为“ WorkSheet1”的工作表来创建它。

该getSheetCount()方法将告诉您工作簿中工作表的数量。而该getSheetNames()方法将返回工作簿中所有工作表的列表,并按在MS Excel(或其他适当的Spreadsheet程序)中打开时其“选项卡”出现的顺序编制索引。

可以通过名称或在工作簿中的索引位置访问各个工作表。索引位置代表在MS Excel(或其他适当的电子表格程序)中打开工作簿时显示每个工作表“标签”的顺序。要通过工作表的索引访问工作表,请使用getSheet()方法。

// 获取工作簿中的第二张表
// 注意,工作表从0开始索引
$spreadsheet->getSheet(1);

还存在允许您在工作簿中对工作表进行重新排序的方法。

要按名称访问工作表,请使用getSheetByName()方法,指定要访问的工作表的名称。

// 检索名为'Worksheet 1'的工作表
$spreadsheet->getSheetByName('Worksheet 1');

或者,一个工作表始终是当前活动的工作表,您可以直接访问该工作表。当前活动的工作表是在MS Excel(或其他适当的Spreadsheet程序)中打开工作簿时将处于活动状态的工作表。

// 检索当前活动的工作表
$spreadsheet->getActiveSheet();

您可以使用setActiveSheetIndex()和setActiveSheetIndexByName()方法通过索引或名称更改当前活动的工作表 。

添加一个新的工作表

您可以使用对象的createSheet() 方法向工作簿中添加一个新的工作表Spreadsheet。默认情况下,它将被创建为新的“最后”工作表;但您也可以将索引位置指定为参数,然后工作表将插入该位置,从而将集合中所有后续工作表拖到一个位置。

$spreadsheet->createSheet();

使用此方法创建的新工作表将被调用 Worksheet<n>,其中where <n>是保证标题唯一的最低编号。

或者,您可以实例化一个新的工作表(将标题设置为您选择的名称),然后使用该addSheet()方法将其插入工作簿中 。

// 创建名为"My Data"的新工作表
$myWorkSheet = new \PhpOffice\PhpSpreadsheet\Worksheet\Worksheet($spreadsheet, 'My Data');

// 在Spreadsheet对象中附加'My Data'工作表作为第一个工作表
$spreadsheet->addSheet($myWorkSheet, 0);

如果未将索引位​​置指定为第二个参数,则新工作表将添加到最后一个现有工作表之后。

复制工作表

可以通过创建要复制的工作表的副本,然后使用addSheet()将该副本插入工作簿的方法来复制同一工作簿中的工作表。

$clonedWorksheet = clone $spreadsheet->getSheetByName('Worksheet 1');
$clonedWorksheet->setTitle('Copy of Worksheet 1');
$spreadsheet->addSheet($clonedWorksheet);

您还可以将工作表从一个工作簿复制到另一个工作簿,尽管这更加复杂,因为PhpSpreadsheet还必须在两个工作簿之间复制样式。addExternalSheet()为此提供了该方法。

$clonedWorksheet = clone $spreadsheet1->getSheetByName('Worksheet 1');
$spreadsheet->addExternalSheet($clonedWorksheet);

在这两种情况下,开发人员都有责任确保工作表名称不重复。如果您尝试复制将导致名称重复的工作表,则PhpSpreadsheet将引发异常。

删除工作表

您可以使用以下removeSheetByIndex()方法从工作簿中删除工作表,该工作表由其索引位置标识

$sheetIndex = $spreadsheet->getIndex(
    $spreadsheet->getSheetByName('Worksheet 1')
);
$spreadsheet->removeSheetByIndex($sheetIndex);

如果删除了当前活动的工作表,则位于前一个索引位置的工作表将成为当前活动的工作表。

Springer期刊LaTeX模板中参考文献格式选择与编译错误的快速修复指南 本文针对Springer期刊LaTeX模板中参考文献编译后显示问号的常见问题,提供了快速修复指南。核心在于正确选择并配置与期刊匹配的参考文献格式文件(.bst),并执行标准的四步编译流程。文章详细解释了问题根源,并给出了从查找正确.bst文件到修改代码、执行编译的完整解决方案,帮助作者高效解决投稿中的技术障碍。 阅读详情

相关推荐

如何在windows下使用cmake编译源码

MyProject/└── build/在MyProject目录下创建并编辑。创建build目录并进入。使用cmake命令生成构建文件。使用适当的命令编译项目。运行生成的可执行文件。

cdj444asdg的博客 3345

Phpspreadsheet 中文文档(七)技巧和诀窍

您也可以折叠列。请注意,您还应该将列设置为不可见,否则折叠将在Excel 2007中不可见。请参阅“分组/概述一行”部分以获取有关折叠的完整示例。您可以指示PhpSpreadsheet将摘要添加到右侧(默认)或左侧。您也可以折叠该行。请注意,您还应该将行设置为不可见,否则折叠将在Excel 2007中不可见。$i

withoutfear的博客 3264

企业微信群机器人Webhook配置全攻略:从创建到发送消息的完整流程

本文详细介绍了企业微信群机器人Webhook的配置流程,从创建机器人到获取Webhook地址,再到发送各类消息的完整步骤。通过Python代码示例展示了文本、Markdown等消息类型的发送方法,并提供了性能优化建议和常见问题排查技巧,帮助企业高效实现自动化消息推送。

weixin_29208327的博客 6842

Phpspreadsheet 中文文档(三) 计算引擎

用于验证的对象作为基于服务器区域设置的日期值,因此,如果服务器设置为英国,则通过模棱两可的值'07 / 08/2008'将被视为2008年8月7日,而如果服务器为UK,则将其视为2008年7月8日设置为美国。代表日期的Excel时间戳或PHP时间戳或对象,该日期是在指定日期(start_date)之前或之后的月份数。如果格式化为日期的单元格包含整数或。输入列标签为字符串(用双引号引起来),例如“ Age”或“ Yield”,或者输入代表列在列表中位置的数字(不带引号):1为第一列,2用于第二列,依此类推。

withoutfear的博客 1149

高速电路的信号完整性分析

摘要:介绍了高速PCB设计中的信号完整性概念以及破坏信号完整性的原因,从理论和计算的层面上分析了高速电路设计中反射和串扰的形成原因,并介绍了IBIS仿真。 关键词:信号完整性 反射 串扰 IBIS仿真 随着半导体技术和深压微米工艺的不断发展,IC的开关速度目前已经从几十MHz增加到几百MHz,甚至达到几GHz。在高速PCB设计中,工程师经常会碰到误触发、阻尼振荡、过冲、欠冲、串...

bh_wang的专栏 1431

卡方分布的前世今生:一个统计概念的演化史

本文追溯了卡方分布从19世纪末的理论雏形到现代统计推断核心工具的发展历程。从Karl Pearson的数学奠基到Ronald Fisher的理论完善,卡方分布在医学研究、社会科学和机器学习等领域展现出广泛应用。文章通过代码示例和性质分析,揭示了这一统计概念如何持续推动数据科学创新。

weixin_29251567的博客 392

PhpSpreadsheet中文文档 | 简介

1、PhpSpreadsheet 是什么 PhpSpreadsheet是一个用纯PHP编写的库,提供了一组类,使您可以读取和写入不同的电子表格文件格式 PhpSpreadsheet提供了丰富的API接口,可以设置诸多单元格以及文档属性,包括样式、图片、日期、函数等等诸多应用,总之你想要什么样的Excel表格,PhpSpreadsheet都能做到 使用 PhpSpreadsheet 开发的PHP要求 7.1或更高版本 PhpSpreadsheet 支持链式操作 2、PhpSpreadsheet 支持的文件格式

jackbon8的博客 4万+

家庭网络中,路由器和交换机的连接顺序

它的目的是给路由器增加端口,用户访问互联网的速度比情况一要快,常用于办公网络、家庭成员多的场景。光纤入户首先连接的肯定是光猫,而在光猫的后面,是先连接交换机?还是应该接路由器呢?家庭网络中路由器和交换机的先后连接顺序。它目的是让更多的用户访问互联网。常用于一些超大型机房、网吧等。至于路由器和交换机的区别。两者之间很多功能都有兼容。但用户上网速度相对较慢。在技术日益迭代的今天。

m0_74075744的博客 1万+

PhpSpreadsheet中文文档 | 基础Spreadsheet开发使用示例

· 1、 实例化Spreadsheet对象 <?php namespace app // 给类文件的命名空间起个别名 use PhpOffice\PhpSpreadsheet\Spreadsheet; //Xlsx类 保存文件功能类 use PhpOffice\PhpSpreadsheet\Writer\Xlsx; // 实例化 Spreadsheet 对象 $spreadsheet = new Spreadsheet(); 2、 Spreadsh

jackbon8的博客 4万+

LLC电路细讲笔记(二)LLC谐振转换器:频率、增益与Q值的详细探讨

这本电子书通过详细分析LLC谐振转换器的工作原理、等效电路和增益公式,帮助读者深入理解如何设计和优化谐振转换器系统。通过这些公式和设计方法,工程师可以根据不同的应用需求调整参数,实现高效的电能转换。

weixin_43199439的博客 6888

Milvus 向量数据库部署方案全景指南:从单机开发到生产级高可用集群

本文系统介绍了Milvus向量数据库的四大部署方案:嵌入式开发利器Milvus Lite、单机简易部署Standalone模式、生产级高可用Cluster模式以及全托管SaaS服务Zilliz Cloud。针对不同应用场景(开发测试、小型应用、大规模生产环境),详细分析了各模式的适用条件、资源配置要求和部署步骤,并提供了关键配置示例。文章强调正确选择部署方案对系统性能至关重要,帮助开发者根据向量规模、QPS和高可用需求,选择最优部署方式,实现资源优化与稳定运行。

reset2021的博客 385

phpspreadsheet 中文文档(八)读写文件+读取文件

2019年10月11日14:09:40 配置设定 将PhpSpreadsheet文件包含在脚本中之后,但是在实例化Spreadsheet对象或加载工作簿文件之前,可以设置许多配置选项,这些配置选项将影响脚本的后续行为。 单元格收集缓存 默认情况下,PhpSpreadsheet将所有单元格对象保留在内存中,但是您可以指定替代方法来以降低速度为代价来减少内存消耗。阅读有关内存节省的更多信息。 为了使...

Z.X的博客 268

ESP32S3接入讯飞在线语音识别教程及配套源代码

本文介绍了如何使用ESP32-S3开发板实现讯飞在线语音识别功能。首先,需要准备硬件设备,包括ESP32-S3开发板、麦克风模块、MicroSD卡模块和扬声器模块。接着,安装Arduino IDE并配置ESP32-S3开发环境,注册讯飞开放平台账号并获取API凭证。然后,通过I2S接口连接麦克风模块,并编写代码实现语音录制、Base64编码、API请求和识别结果处理。代码包括初始化WiFi、麦克风、系统时间,以及录制语音、发送请求、解析响应等功能。最后,通过按键触发录音,并将识别结果输出到串口。

2401_88800025的博客 747

php+csv+iso+8859+1,phpspreadsheet 中文文档(八)读写文件+读取文件

2019年10月11日14:09:40配置设定将PhpSpreadsheet文件包含在脚本中之后,但是在实例化Spreadsheet对象或加载工作簿文件之前,可以设置许多配置选项,这些配置选项将影响脚本的后续行为。单元格收集缓存默认情况下,PhpSpreadsheet将所有单元格对象保留在内存中,但是您可以指定替代方法来以降低速度为代价来减少内存消耗。阅读有关内存节省的更多信息。为了使细胞缓存,您...

weixin_32019329的博客 368

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Phpspreadsheet 中文文档(六)读写文件+读取文件

从不包含格式信息的文件(例如CSV文件)中加载数据时,数据将以字符串或数字(浮点数或整数)的形式读取。这意味着PhpSpreadsheet不会自动将日期/时间(例如或13:30),布尔值(true或false),百分比(75%),超链接()等识别为简单字符串以外的任何内容。但是,可以在Value Binder的加载过程中应用针对这些值执行的其他处理。值绑定器是实现接口的类。它必须包含一个接受a和一个值作为参数的方法,并返回一个布尔值true或false指示是否已使用该值填充工作簿单元格。

withoutfear的博客 2749

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

phpspreadsheet 中文文档(六)读写文件+读取文件

2019年10月11日14:05:58 读写文件 从体系结构您已经知道,使用基本PhpSpreadsheet类无法对持久性存储进行读写。为此,PhpSpreadsheet提供读者和作家,这是实现\PhpOffice\PhpSpreadsheet\Reader\IReader和\PhpOffice\PhpSpreadsheet\Writer\IWriter。 \ PhpOffice \ PhpS...

Z.X的博客 715

PhpSpreadsheet中文文档 | Spreadsheet操作教程实例

Spreadsheet 支持excel 函数 公式使用 <?php namespace app # 给类文件的命名空间起个别名 use PhpOffice\PhpSpreadsheet\Spreadsheet; # Xlsx类 将电子表格保存到文件 use PhpOffice\PhpSpreadsheet\Writer\Xlsx; # 实例化 Spreadsheet 对象 $spreadsheet = new Spreadsheet(); # 获取活动工作薄 $sheet = $

jackbon8的博客 2万+

Phpspreadsheet中文文档2(翻译软件版)

由于phpoffice/phpexcel(此包已被放弃,不再维护。作者建议改用phpoffice/phpspreadsheet包。) 最近开始使用Phpspreadsheet,发现中文文档不全。自己英文水平一般,又比较着急开发。所以贴上google翻译版,着急的朋友可以先凑合看看,英文底子好的同学可以直接忽略本帖。 本贴仅供参考。 本贴仅供参考。 本贴仅供参考。 原文地址: Phpspreadsheet官方文档 文件 » 主题 ” 读写文件 读写文件 从体系结构您已经知道,使用基本PhpSpreads

qq_29466853的博客 1262

Phpspreadsheet中文文档(翻译软件版)

最近项目中在使用Phpspreadsheet,发现中文文档不全。英文文档,英语底子不太好,又着急查阅。所以贴上google翻译版,着急的朋友可以先凑合看看,英文底子好的同学可以直接忽略本帖。 本贴仅供参考。 本贴仅供参考。 本贴仅供参考。 原文地址: Phpspreadsheet官方文档 今天先分享『读取文件』的文档。下一次更新『导出表』文档。 文件 » 主题 ” 读取文件 读取文件 安全 在读取电子表格文件时,基于XML的格式(例如OfficeOpen XML,Excel2003 XML,OASIS

qq_29466853的博客 1420

phpspreadsheet 中文文档 粗翻版

http://get.ftqq.com/9211.get 官方使用文档https://phpspreadsheet.readthedocs.io/en/stable/topics/accessing-cells/ api文档https://phpoffice.github.io/PhpSpreadsheet/master/PhpOffice.html 翻译的是使用文档,机翻+校验,因为现在单个文档内容放的东西有限分成几篇文章 只翻译标题的主要部分 文档部分主要的菜单↓↓ Ac...

jshyzx1999的博客 365

PHPSpreadsheet自封装类库讲解文档

数据导出到excel是日常开发最常见的功能了,如果每一个数据导出都要写一堆难看的代码,那未免太耗时耗力。 这里本人封装了一个导出数据到excel的类库,支持大数据导出、多种样式简单实用,写法简单,类库在composer中。这里主要进行使用及文档讲解。

Millionmile的博客 2702

phpspreadsheet 中文文档(二) 结构+自动筛选

2019年10月11日13:55:41 原理图 自动加载器 PhpSpreadsheet依赖于Composer自动加载器。因此,在独立使用PhpSpreadsheet之前,请确保先运行composer install。或使用将其添加到预先存在的项目中composer require phpoffice/phpspreadsheet。 电子表格在内存中 PhpSpreadsheet的体系结构以可...

Z.X的博客 874

PhpSpreadsheet:3 步让 PHP 读写 Excel 电子表格,新手也能快速上手报表生成

用 PhpSpreadsheet 读写 Excel 电子表格,是 PHP 项目里绕不开的一件实事。它是个纯 PHP 实现的库,不需要 Excel、不需要 COM 组件,在服务器或 CLI 里就能直接读取和生成 `.xlsx` / `.xls` / `.csv` / `.ods` / HTML 等表格文件。适合正在做后台导出、数据导入、自动化报表的 PHP 开发者——哪怕你刚接触它,也能在几分钟内跑

gitblog_01033的博客 416

php iofactory列,PhpSpreadsheet中文文档 | Spreadsheet操作教程实例

Spreadsheet 支持excel 函数 公式使用namespace app# 给类文件的命名空间起个别名use PhpOffice\PhpSpreadsheet\Spreadsheet;# Xlsx类 将电子表格保存到文件use PhpOffice\PhpSpreadsheet\Writer\Xlsx;# 实例化 Spreadsheet 对象$spreadsheet = new Spre...

weixin_29793587的博客 1462

php iofactory列,phpspreadsheet 中文文档 粗翻版

2019年10月11日09:32:33翻译的是使用文档,机翻+校验,因为现在单个文档内容放的东西有限分成几篇文章只翻译标题的主要部分文档部分主要的菜单↓↓Accessing cells 访问单元格Setting a cell value by coordinate 通过坐标设置单元格值Excel Da...

weixin_32059869的博客 453
上一篇: Phpspreadsheet 中文文档(七)技巧和诀窍
下一篇: Php生成器详解 Generator以及yield到底是什么?
withoutfear
博客等级 码龄13年 541粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值