PHPExcel获取字体颜色不起作用

时间:2014-05-27 09:28:37

标签: fonts colors phpexcel

我正在尝试获取单元格的字体颜色值,但它总是返回黑色 我用几种不同格式的文件(xls和xlsx)测试了它 这是我的代码:

    $inputFileType = PHPExcel_IOFactory::identify(self::PRODUCTS_FILE);
    $oExcelReader = PHPExcel_IOFactory::createReader($inputFileType);
    $oExcelReader->setReadDataOnly(true);
    $oExcel = $oExcelReader->load(self::PRODUCTS_FILE);

    $worksheetsCollection = $oExcel->getAllSheets();

    $products = array();
    foreach($worksheetsCollection as $oWorksheet) /** @var \PHPExcel_Worksheet $oWorksheet */ {

        $rows = $oWorksheet->toArray();
        unset($rows[0]);
        if (!empty($rows)) {

            foreach ($rows as $key => $row) {
                $color = $oWorksheet->getStyle('A' . ($key + 1))->getFont()->getColor()->getRGB();
                var_dump($color, 'A' . ($key + 1));

这有什么问题?

1 个答案:

答案 0 :(得分:1)

出了什么问题

$oExcelReader->setReadDataOnly(true);

您告诉PHPExcel只读取单元格的原始内容,而来读取任何样式信息,如字体颜色等。

这意味着根本没有从文件中读取字体颜色,因此获取所用颜色的任何请求都只返回电子表格的默认颜色,即黑色

如果您需要颜色信息, 告诉PHPExcel只检索电子表格数据