PhpSpreadsheet foreach循环遍历多个工作表

时间:2018-08-24 14:59:28

标签: php excel phpspreadsheet

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

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

因此,我似乎只能从活动工作表中获取数据。 我想遍历每张工作表以从每张工作表中获取数据,例如:

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

有什么主意吗?我想念什么吗? 谢谢

1 个答案:

答案 0 :(得分:3)

您想使用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