PhpSpreadsheet foreach 循环通过多个工作表

Posted

技术标签:

【中文标题】PhpSpreadsheet foreach 循环通过多个工作表【英文标题】:PhpSpreadsheet foreach loop through multiple sheets 【发布时间】:2019-01-31 02:14:02 【问题描述】:

我是 phpSpreadsheet 的新手,我有一个包含多张工作表的文件(都一样),我检查了文档的 Reader 部分中的所有示例,但每个示例都以类似的代码结尾

$sheetData = $spreadsheet->getActiveSheet()->toArray(null, true, true, true);

看来我只能从活动工作表中获取我的数据。 我想遍历每张纸以从每张纸中获取数据,例如:

foreach ($sheetData as $sheet)  
    echo "...my data ...";

有什么想法吗?我错过了什么吗? 谢谢

【问题讨论】:

【参考方案1】:

您希望使用getSheetCount() 方法来确定有多少张,然后使用标准for 循环和getSheet()

$sheetCount = $spreadsheet->getSheetCount();
for ($i = 0; $i < $sheetCount; $i++) 
    $sheet = $spreadsheet->getSheet($i);
    $sheetData = $sheet->toArray(null, true, true, true);

请参阅Worksheet documentation。

【讨论】:

我下次会更深入地阅读。感谢您回答并为我指明正确的方向。

以上是关于PhpSpreadsheet foreach 循环通过多个工作表的主要内容,如果未能解决你的问题,请参考以下文章

PHP 使用 PhpSpreadsheet

PHP 使用 PhpSpreadsheet

phpspreadsheet 中文文档 结构

PhpSpreadsheet的简单使用

中断内部 foreach 循环并继续外部 foreach 循环

foreach跳出循环不往下走