0
當我使用函數getValue()獲取單元格值時,如果單元格包含特殊字符,是否有任何解決方案來獲取內容,即使包含非UTF -8個字符?我打算在調用getValue()函數之前解析它們。我會很感激任何幫助。PHPEXCEL如何獲取單元格值,即使使用特殊字符
$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。我認爲這是一個讀者問題,但我找不到管理它的代碼。
感謝您的幫助!
請給出一個例子,XLS文件中存儲了什麼樣的字符和編碼。 – Bjoern
PHPExcel應該總是返回UTF-8數據;如果文件是標準的電子表格格式文件,那麼它使用的任何字符集應自動轉換爲UTF-8。但是,如果它是一個CSV文件(或者有時候也是HTML),那麼該文件不包含有關charset的信息,所以如果文件不是UTF-8,那麼你必須特別告訴Reader該文件使用什麼字符集。setInputEncoding( )'方法 –
我從.csv獲取值,並且某些單元格具有帶特殊字符的客戶端名稱,如ñ或Ñ。 – Gonsabb