如何使用 RichText

问题描述

我一直在尝试为我的 PHPExcel 文件中的现有文本的一部分着色。经过一番搜索,我了解到我应该使用 RichText 来实现这一点,所以我做到了:

     if($product_name == '2-Day Cleanse'){
     
     $orderSpc = $formatter->objPHPExcel->getActiveSheet()->getCell('C'.$row)->getValue();
     $twoday = strstr( $orderSpc,'2');
          
           
      if($twoday){

            $objrichText = new \PHPOffice\PHPSpreadsheet\RichText\RichText();
            $PHPColor->setARGB(PHPExcel_Style_Color::COLOR_RED);

            $objrichText->createText($orderSpc); 
            $objCleanse = $objrichText->createTextRun($twoday);
            $objCleanse->getFont()->setColor( new \PHPExcel_Style_Color( PHPExcel_Style_Color::COLOR_DARKGREEN ) );
          

           
            $formatter->objPHPExcel->getActiveSheet()->setCellValue('C'.$row,$objrichText);

         }

   }

我也尝试在 ARGB 和 RGB 中声明颜色:

            // $objCleanse->getFont()->setColor(new \PHPExcel_Style_Color())->setARGB('FF0000');

我收到一条错误消息:

致命错误:未捕获的类型错误:传递给 PHPOffice\PHPSpreadsheet\Style\Font::setColor() 的参数 1 必须是 PHPOffice\PHPSpreadsheet\Style\Color 的实例,给出 PHPExcel_Style_Color 的实例

我已经搜索了几个星期但没有成功,所以我决定在这里问。 总结我的问题:我试图只选择我的文本的一部分(部分说:“2天清理”)并且我使用 strstr 函数获取该文本,但这不是正确的方法,因为一旦我使用 createTextRun 它创建了另一个现有文本之上的文本,这不是我想要的。我想抓取部分文本并为其应用绿色。

如果有人帮助我,我将不胜感激!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)