PHPExcel如何使用来自读卡器的数据
我试图理解如何从PHPExcel中的单元格获取数据,但我不知道。我阅读了所有文档,并提出以下建议:PHPExcel如何使用来自读卡器的数据,php,phpexcel,Php,Phpexcel,我试图理解如何从PHPExcel中的单元格获取数据,但我不知道。我阅读了所有文档,并提出以下建议: <?php include('PHPExcel/Classes/PHPExcel/Reader/Excel2007.php'); class MyReadFilter implements PHPExcel_Reader_IReadFilter { public function readCell($column, $row, $worksheetName = '') {
<?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);
?>
打印显示非常大的阵列。
我认为有一些函数可以从$objPHPExcel中的单元格获取数据
怎么做
塔克斯 请阅读文档第4.5章(包含在PHPExcel下载包中)对于任何其他想要更有用答案的人,按照上面示例中的代码,下面是一个快速片段,它将活动工作表解析为多维数组(此示例忽略OP创建的ReadFilter)
$data=array();
$worksheet=$objPHPExcel->getActiveSheet();
foreach($worksheet->getRowIterator()作为$row){
$cellIterator=$row->getCellIterator();
$cellIterator->setiterateonleyexistingcells(false);
foreach($cellIterator作为$cell){
$data[$cell->getRow()][$cell->getColumn()]=$cell->getValue();
}
}
var_dump($数据);
顺便说一句,我之所以说“更有用的答案”,是因为我第一次也很难弄明白PHPExcel文档(它由6个单独的文档组成,没有真正的API类参考)
OP说他“阅读了所有的文档”,但我猜他也像我一样阅读了名为PHPExcel用户文档-阅读电子表格文件.doc的文件,该文件解释了如何在电子表格中阅读,但不包括使用内容
要找到答案,您必须深入研究PHPExcel developer documentation.doc,并深入到第4部分(我在这里找到了上面的示例)
是的,我的错误是不够彻底,但很明显这是一个反复出现的问题。:-) 要读取excel文件,您可以使用
require_once('PHPExcel.php');
$input\U file\U type=PHPExcel\u IOFactory::identify($excel\u file);
$obj_reader=PHPExcel_IOFactory::createReader($input_file_type);
$obj_reader->setReadDataOnly(true);
$objPHPExcel=$obj_阅读器->加载($excel_文件);
$objWorksheet=$objPHPExcel->setActiveSheetIndex(0);
$highest_row=$objWorksheet->getHighestRow();
$highest_col=$objWorksheet->getHighestColumn();
//$highest\u col\u index=PHPExcel\u单元格::columnIndexFromString($highest\u col);
//如果要跳过标题,请从2开始$row
对于($counter=2;$counter RANGETORRAY('A'.$counter.':'.$HIGHT_col.$counter');
$row=重置($row);
}
在生产发行版的/Documentation/API目录中有一个完整的API引用……令人惊讶的是,尽管有许多人的名字,却完全忘记了它的存在directories@MarkBakerPHPExcel太棒了!我不能抱怨任何事情!我只是给你提个建议(我知道你真的不需要这么做),但我认为人们不认为很容易找到PHPExcel文档,因为它的显示方式。在我看来,《Codeigniter用户指南》是一个很好的参考资料之一,可以轻松、干净地找到所有关于Codeigniter的信息。你可以在那里搜索信息、示例等。在PHPExcel中,很难找到做一个搜索,但没有什么困难。几乎我所有的问题都在这里,我发现答案做得更好。我知道你发布这篇文章已经很久了。但是我找不到任何帮助。我如何在$row中打印数据?我总是得到未定义的偏移量
。请提供一些帮助=\真的感谢你的回答。我刚刚解决了这个问题嗯,找到了一个document.doc,有一些解释…谢谢你,先生!!