PHPExcel 检查工作表是否存在

2024-03-07

我正在使用 phpExcel,但找不到任何内容来检查工作表是否存在。我想要完成的是这样的事情:

if(!$excel->sheetExists(1)){
    $excel->createSheet(1);
    $sheet = $excel->setSheet(1);
}
// Do some stuff with the sheet

所以。我的问题:如何检查工作表是否存在?

Edit

这行得通吗?

try{
    $sheet = $this->excel->setActiveSheetIndex(1);
}catch(Exception $e){
    $excel->createSheet(1);
    $sheet = $excel->setActiveSheetIndex(1);
}

如果您只是想知道索引 1 处是否存在工作表,那么

$sheetCount = $excel->getSheetCount();

将返回工作表的计数。由于工作表从 0 开始递增索引,因此仅当计数为 2 或更多时,索引 1 处的工作表才会存在。

如果你想知道命名工作表是否存在,那么

$sheetNames = $excel->getSheetNames();

将返回一个工作表名称数组(按其索引位置索引),然后您可以使用 in_array() 进行测试;

The

$excel->getSheet()

如果请求的工作表(按索引)不存在,方法将抛出异常,因此将其包装在 try/catch 块中将是另一种方法

$excel->getSheetByName()

如果指定的工作表不存在,则返回 NULL 值

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHPExcel 检查工作表是否存在 的相关文章

随机推荐

  • 在 Microsoft botframework 中回复“正在输入”消息

    我正在 c net 和 LUIS 认知服务上使用 MicrofsoftBotFramework 开发聊天机器人 我希望当用户输入时 它应该在输入或机器人正在输入时回复 public async Task
  • 大写连字符的名称

    我在用WordUtils来自 apache commons 来正确规范人们的名字 例如 AnGEl lEe gt Angel Lee 而且效果很好 现在我提出的测试用例之一是连字符名称 通常 连字符的每个部分的第一个字母都大写 所以我期望
  • 如何在 Rmarkdown 中添加跨块的行号?

    我想将代码行编号添加到 Rmarkdown 文件的 HTML 输出中 我会对任何方法感到满意uniquely标识输出中的每一行代码 例如 在整个文档中递增的连续行号 或者代码块由它们自己的索引标识 并且在这些代码块中行号从 1 开始 我一直
  • Kubectl 还记得我吗?

    我已经在我的 kubernetes api 服务器上实现了基本身份验证 现在我正在尝试配置我的 kube config以我可以简单运行的方式文件 kubectl get pods kubectl config set cluster dig
  • 使用 Rack::Test 测试 AJAX POST - 如何传入数据?

    我在用着机架 测试 https github com brynary rack test测试我的应用程序并需要测试通过 AJAX 发布数据 我的测试看起来像 describe POST user do include Rack Test M
  • 如何从单词列表中查找 DF 中的匹配单词并在新列中返回匹配的单词[重复]

    这个问题在这里已经有答案了 我有一个包含 2 列的 DF 并且有一个单词列表 list of words lt c tiger elephant rabbit hen dog Lion camel horse df lt tibble ti
  • 模拟内部 axios.create()

    我在用着jest and axios mock adapter去测试axiosAPI 调用redux异步动作创建者 当我使用时我无法让它们工作axios创建的实例axios create 像这样 import axios from axio
  • iptables 模式下的 kube-proxy 不起作用

    I have Kubernetes v 1 1 1 iptables v1 4 21 内核 4 2 0 18 generic Ubuntu wily 自带 网络通过交换机上终止的 L2 VLAN 完成 没有云提供商 我做什么 我正在尝试 k
  • 修改与在 SQL Server 2005 中调用的表不同的表上的多行的触发器

    我尝试对由其他表上的更新触发的表执行更新 但收到错误消息 更新或删除的行值要么不会使该行变得唯一 要么会更改多行 例如我有这个表 table 1 int id primary key identity nchar 10 state name
  • iOS 以编程方式为表视图单元格内容创建 NSLayoutConstraint

    我想在 cellForRowAtIndexPath 中添加一些视图到我的单元格内容视图及其约束 但没有任何效果 我有这样的事情 NSLayoutConstraint constraint NSLayoutConstraint constra
  • PHP - preg_match() 一个接一个的单词

    我有一篇这样的文字 The cat was born on 1980 and lives 所以我想用正则表达式获取猫的年龄 文本中可能出现超过 1 次的 4 位数字 我正在尝试这个preg match born on 0 9 4 text
  • 如何在 MySQL 5.7 中创建六字符密码

    我需要在 Mac 上的新 MySQL 中创建一个具有六字符密码的用户 我知道 5 7 中的最低设置只允许八个字符 有什么办法可以解决这个问题吗 我输入CREATE USER newsier localhost IDENTIFIED BY s
  • 如何从mysql获取分层菜单

    我有一个带有分层菜单的表 例如 id parent id name 1 0 menu 2 1 item1 3 2 item1 1 4 1 item2 5 4 item2 1 我这里有数百个菜单项 为了获取数组中的所有项目 我必须编写一个像这
  • 更改 Firebase 实时数据库中的值时如何查看 flutter 应用程序的变化?

    每当我在 Firebase 实时数据库中进行任何更改时 我都会尝试使这些滚动开关更改其值 更具体地说 每当我将 Relay1 Data 的值更改为 0 时 我希望该开关变为非活动状态 我已经尝试并到处寻找 但找不到任何解决方案 bool r
  • 在本地主机上运行的 asp.net 应用程序上使用 https

    我创建了一个 asp net Web 应用程序 其中包含一个名为 Main aspx 的 Web 表单 我正在尝试通过 https 运行该应用程序 由于我没有 SSL IIS 等方面的经验 我在 google 上搜索了如何实现这一目标 但每
  • 如何通过Windows Defender SmartScreen保护? [复制]

    这个问题在这里已经有答案了 我试图防止我的应用程序 安装程序 不会被阻止Windows 智能屏幕保护 我使用 BitRock 并手动签署了我的安装程序 但我总是遇到这个问题 我购买了有效的证书 并且带有时间戳的签名没问题 这是一个商业应用程
  • HTTP 中的 POST 和 PUT 有什么区别?

    背景资料分析 根据RFC 2616 第 9 5 节 https www rfc editor org rfc rfc2616 section 9 5 POST习惯于create资源 POST 方法用于请求源服务器接受请求中包含的实体 作为请
  • 如何从 Base64 编码字符串构造 java.security.PublicKey 对象?

    我有一个来自外部源 Android Store 的 bse64 编码字符串公钥 我需要用它来验证签名内容 如何将字符串转换为 java security PublicKey 接口的实例 如果这有什么区别的话 我正在使用 Java 6 密钥
  • Cocos2d-x:可以使用HTML(UIWebView)吗?

    我正在尝试cocos2d x现在我可以为 Android 构建 Javascript 示例并在浏览器中运行它们 现在我想创建自己的游戏 但由于有 HTML 背景 我宁愿使用 HTML 标签和 CSS 也不愿使用 Javascript 来设置
  • PHPExcel 检查工作表是否存在

    我正在使用 phpExcel 但找不到任何内容来检查工作表是否存在 我想要完成的是这样的事情 if excel gt sheetExists 1 excel gt createSheet 1 sheet excel gt setSheet