我正在尝试阅读一些带有phpexcel的excel文件,它迄今为止工作正常。尽管phpexcel有点太聪明,并且从我的单元格中删除了前导零。我想我需要告诉它将单元格视为文本字符串,而不是一般或数字。但我失败了。我甚至发现有关这个stackoverflow的线程,但建议的解决方案根本无法工作。phpexcel中的单元格格式
下面是我正在处理的内容的一小部分。
foreach(@$objWorksheet->getRowIterator() as $row){
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
foreach($cellIterator as $cell){
#$objWorksheet->getStyle($cell->getCoordinate())->getNumberFormat()->setFormatCode('@');
$cells[] = $cell->getValue();
}
}
有什么想法吗?我不想只限于阅读数字内容,因为我无法控制用户上传的内容。把所有东西都当作字符串来处理是完美的
/peder
感谢
前
PHPExcel_IOFactory::createReader('CSV')
,所有的好东西。但 - 应用这个,并试图解析一个csv文件,但它似乎像我所有的细胞被格式化为“一般”。文件看起来像这样:http://dl.dropbox.com/u/252696/csv.csv这是csv格式的限制,如果是这样 - 如果phpexcel刚刚返回单元格的内容不会更好? – fjallstrom 2010-11-21 18:42:23如果PHPExcel只是返回“字符串”,它将失去从Excel工作表中处理数据的全部功能。如果您只是想将CSV文件读取到数组中,那么最好的选择是PHP内置的csv处理函数,如fgetcsv() – 2010-11-21 19:55:57
如果希望PHPExcel将CSV文件的输入视为字符串而不是数字,则您可以编写一个简单的“读取过滤器”,确保文件中的所有输入都被视为字符串。 – 2010-11-21 19:57:15