PHPExcel如何使用来自阅读器的数据

Mir*_*rod 2 php phpexcel

我试图了解如何从PHPExcel中的单元格获取数据,但我不知道.我读了所有文档,我做了这个:

<?php
include('PHPExcel/Classes/PHPExcel/Reader/Excel2007.php');
class MyReadFilter implements PHPExcel_Reader_IReadFilter
{
    public function readCell($column, $row, $worksheetName = '') {
        // Read title row and rows 20 - 30
        if ($row == 1 || ($row >= 20 && $row <= 30)) {
            return true;
        }

        return false;
    }
}
$objReader = new PHPExcel_Reader_Excel2007();
$objReader->setReadFilter( new MyReadFilter() );
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load("sample_mymails222.xlsx");
print_r($objPHPExcel);
?>
Run Code Online (Sandbox Code Playgroud)

print_r显示非常大的数组.我认为有一些函数可以从$ objPHPExcel中的单元格中获取数据.

怎么做?

感谢名单!

Seb*_*rre 25

对于其他想要更有帮助的答案的人,请按照上面示例中的代码,这里有一个快速片段,它将活动工作表解析为多维数组(此示例忽略了OP创建的ReadFilter).

$data =  array();
$worksheet = $objPHPExcel->getActiveSheet();
foreach ($worksheet->getRowIterator() as $row) {
  $cellIterator = $row->getCellIterator();
  $cellIterator->setIterateOnlyExistingCells(false);
  foreach ($cellIterator as $cell) {
    $data[$cell->getRow()][$cell->getColumn()] = $cell->getValue();
  }
}
var_dump($data);
Run Code Online (Sandbox Code Playgroud)

BTW我之所以说"更有帮助的答案"的原因是我第一次遇到PHPExcel文档(由6个单独的文档组成,没有真正的类似API的参考文档)也很困难.

OP说他"阅读了所有的文档",但我猜测,像我一样,他阅读了名为PHPExcel用户文档 - 阅读电子表格文件的文件.doc解释了如何阅读电子表格,但不包括使用内容.

要找到答案,你必须深入研究PHPExcel开发者文档.doc并深入到第4部分(这是我在上面找到的例子).

是的,我的错是没有彻底,但显然这是一个反复出现的问题.:-)