沃梦达 / 编程问答 / php问题 / 正文

PHPEXCEL如何使用特殊字符获取单元格值

PHPEXCEL how to get cell value even with special characters(PHPEXCEL如何使用特殊字符获取单元格值)

本文介绍了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的帮助!

这篇关于PHPEXCEL如何使用特殊字符获取单元格值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:PHPEXCEL如何使用特殊字符获取单元格值