PHPEXCEL如何使用特殊字符获取单元格值
当我使用函数getValue()获取单元格值时,如果单元格包含特殊字符,则返回FALSE,有什么解决方案可以获取内容,即使包含非UTF-8字符?我希望在调用getValue()函数之前解析它们。我将感谢任何形式的帮助。
$objPHPExcel = $objReader->load($filename);
$objWorksheet = $objPHPExcel->getActiveSheet();
$i=0;
$record = array();
foreach ($objWorksheet->getRowIterator() as $row)
{
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
foreach ($cellIterator as $cell)
{
$val = $cell->getValue();
// $val returns false or empty string ('') when the cell has special characters like ñ or another one
$record[$i][] = $val;
}
$i++;
if($i==$vueltas )
return $record;
}
return $record;
}
我尝试使用UTF8_DECODE函数和STR_REPLACE来解析特殊字符,但什么也没有发生,它仍然返回FALSE。我认为这是一个阅读器问题,但我找不到管理它的代码。
谢谢你的帮助!
解决方案
我解决了问题,添加:
$objReader = PHPExcel_IOFactory::createReader('CSV');
$objReader->setInputEncoding('ISO-8859-1');
这是标题字符集信息的问题。
感谢Mark Baker的帮助!
相关文章