php - 读取 xlsx 文件期间的喷口和未定义的偏移错误
问题描述
我在使用 SPOUT xlxs 阅读器插件时遇到了一个奇怪的问题。我收到错误
Notice: Undefined offset: 19
在我的第 17 行的 test.xlsx 中。我不知道为什么。如果我插入一些文本没关系......但如果它是空的,我会出错......奇怪的是索引 19 之前的所有列(1 <= row < 17)都是空的,但它们不是得到任何错误。
在附件中我的测试文件:https ://github.com/box/spout/files/4134401/test.zip
我的代码测试:
include_once(dirname(dirname(__FILE__)) . "/vendors/spout/src/Spout/Autoloader/autoload.php");
use Box\Spout\Reader\Common\Creator\ReaderEntityFactory
$xlsx = ReaderEntityFactory::createReaderFromFile(dirname(__FILE__) . '/test.xlsx');
$xlsx->open(dirname(__FILE__) . '/test.xlsx');
foreach ($xlsx->getSheetIterator() as $sheet) {
foreach ($sheet->getRowIterator() as $row) {
$cells = $row->getCells();
var_dump( $cells[18]->getValue() );
var_dump( $cells[19]->getValue() ); //<---error offset 19 at row 17!!!!!!
}
}
解决方案
推荐阅读
- java - 如何在获取整个 JSON 数据源的同时获取某个标签
- position - 使用 position:sticky 图像没有留在原地
- java - Spring Cache 中的 @Cacheable 将值存储在缓存之外的 redis 中。我如何将它放在redis的缓存中?
- java - 如何使用 UCanAccess 库在日期范围内进行过滤
- wpf - 如何忽略/覆盖父级的数据模板?
- vb.net - JSON 未反序列化为自定义类
- android - 我的 recyclerview 没有显示我的数组列表
- visual-studio-code - 如何在复制粘贴时覆盖 VS Code 中的文件(而不是将 *.1* 附加到文件名)?
- drools - 解释分数 KIE Workbench
- r - R 记分卡包 ID 列