我正在从简单的电子表格中读取数据,但getCell()
会返回行中的所有数据,而不仅仅是指定的单元格。
例如,我在前几个单元格中有一个带有随机文本的电子表格。
__A__ __B__ __C__ __D__ __E__ 1 | aa | bb | cc | dd | ee | 2 |_____|_____|_____|_____|_____|
我启动PHPExcel并运行此代码:
$objReader = PHPExcel_IOFactory::createReaderForFile($file);
$objPHPExcel = $objReader->load($file);
$foo = $objPHPExcel->getActiveSheet()->getCellByColumnAndRow('A', 1)->getValue();
$bar = $objPHPExcel->getActiveSheet()->getCell('A1')->getValue();
$foo
和 $bar
的结果是所有值的一个字符串:
aa bb cc dd ee
为什么会这样?感谢。
PHP v5.3.13
PHPExcel v1.7.9
答案 0 :(得分:6)
在文本编辑器中检查文件。如果文件是不使用默认分隔符(,)
的csv文件,通常只能得到这个但是getCellByColumnAndRow()的第一个参数应该是列的数值
答案 1 :(得分:1)
尝试传递0,1而不是传递'A',1作为getCellByColumnAndRow的参数。这应该正确地定位您正在寻找的数据。
答案 2 :(得分:0)
我得到了PHPExel支持团队的回复。有问题的XLS文档来自第三方。当我运行PHPExcel_IOFactory::identify($file)
时,结果是'CSV'。显然该文档存在格式问题。但这确实解释了这个问题,因为细胞无法正确解释。
回复:https://phpexcel.codeplex.com/discussions/463319#post1111959