我试图了解如何从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部分(这是我在上面找到的例子).
是的,我的错是没有彻底,但显然这是一个反复出现的问题.:-)