Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHPExcel如何使用来自读卡器的数据_Php_Phpexcel - Fatal编程技术网

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 = '') {

我试图理解如何从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);
?>

打印显示非常大的阵列。 我认为有一些函数可以从$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,有一些解释…谢谢你,先生!!