php 指定表格字体大小_PHPExcel根据单元格值设置字体/背景颜色

我有一张纸张拉取值基于

if ($slaHours >= 0 & $slaHours <= 72)

我想要做的是设置这些值的颜色,如果值小于12.我仍然想显示大于12且小于72的值,所以我尝试的代码是

$styleArray = array(

'font' => array(

'bold' => true,

'color' => array('rgb' => 'FF0000'),

));

if ($slaHours >= 0 & $slaHours <= 72)

$slaHours = $objWorksheet->getCellByColumnAndRow(3, $row)->getValue();

if($slaHours <=12) {

$slaHours = $objWorksheet->getCellByColumnAndRow(3, $row)->getValue()->applyFromArray($styleArray);

但是,我得到一个致命的错误

“Call to a member function applyFromArray() on a non-object “

这个PHP的东西很新,所以非常感谢任何有助于这项工作的帮助.

谢谢

解决方法:

applyFromArray()是PHPExcel_Cell对象的一个​​方法,而不是单元格值(除非单元格包含富文本,这是一个简单的PHP数据类型)….所以你需要针对单元格调用它

$objWorksheet->getCellByColumnAndRow(3, $row)->applyFromArray;

但是如果你需要一个基于单元格值的样式,那么你应该使用条件样式.有关详细信息,请参阅开发人员文档的4.6.23节(“条件格式化单元格”),并查看示例中的08conditionalformatting.php

编辑

$objConditionalStyle = new PHPExcel_Style_Conditional();

$objConditionalStyle->setConditionType(PHPExcel_Style_Conditional::CONDITION_CELLIS)

->setOperatorType(PHPExcel_Style_Conditional::OPERATOR_LESSTHAN)

->addCondition('12');

$objConditionalStyle->getStyle()->getFont()->getColor()->setRGB('FF0000');

$objConditionalStyle->getStyle()->getFont()->setBold(true);

$conditionalStyles = $objWorksheet->getStyle('A3')

->getConditionalStyles();

array_push($conditionalStyles, $objConditionalStyle);

$objPHPExcel->getActiveSheet()->getStyle('A3')

->setConditionalStyles($conditionalStyles);

标签:php,phpexcel

来源: https://codeday.me/bug/20190528/1174739.html

PHPExcel 中,可以使用 `getStyle()` 方法获取单元格的样式对象,然后使用 `getNumberFormat()` 方法获取该单元格的数字格式。然后,可以使用 `setFormatCode()` 方法将日期格式应用于单元格。 以下是一个示例代码,演示如何将单元格的日期格式设置为 "yyyy-mm-dd": ```php // 加载 PHPExcel 库 require_once 'PHPExcel.php'; // 创建一个新的 Excel 对象 $objPHPExcel = new PHPExcel(); // 设置活动工作表 $objPHPExcel->setActiveSheetIndex(0); $worksheet = $objPHPExcel->getActiveSheet(); // 设置日期 $date = new DateTime('2021-07-01'); // 将日期设置单元格中 $cell = 'A1'; $worksheet->setCellValue($cell, $date); // 获取单元格的样式对象 $style = $worksheet->getStyle($cell); // 获取单元格的数字格式 $format = $style->getNumberFormat()->getFormatCode(); // 设置日期格式 $style->getNumberFormat()->setFormatCode('yyyy-mm-dd'); // 输出 Excel 文件 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save('example.xlsx'); ``` 在上面的示例代码中,我们首先创建了一个新的 Excel 对象,并设置了活动工作表。然后,我们创建了一个 `DateTime` 对象,将其设置为 "2021-07-01",并将其设置单元格 A1 中。接下来,我们获取了单元格 A1 的样式对象,并使用 `getNumberFormat()` 方法获取该单元格的数字格式。然后,我们使用 `setFormatCode()` 方法将日期格式设置为 "yyyy-mm-dd"。最后,我们将 Excel 文件保存到本地文件系统中。 这样,单元格 A1 的日期格式就被设置为 "yyyy-mm-dd" 了。你可以根据需要修改日期格式的代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值