Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHPExcel:如何交替行颜色_Php_Phpexcel - Fatal编程技术网

PHPExcel:如何交替行颜色

PHPExcel:如何交替行颜色,php,phpexcel,Php,Phpexcel,我想在PHPExcel上创建交替的颜色行。例如奇数=否,偶数=颜色 我的代码是: $row = 4; $excel->getActiveSheet()->getStyle('A4:I'.($row-1))->applyFromArray( array( 'fill' => array( 'type' => PHPExcel_Style_Fill::FILL_SOLID, 'color' => array('rgb'

我想在PHPExcel上创建交替的颜色行。例如奇数=否,偶数=颜色

我的代码是:

$row = 4;
$excel->getActiveSheet()->getStyle('A4:I'.($row-1))->applyFromArray(
 array(
    'fill' => array(
        'type' => PHPExcel_Style_Fill::FILL_SOLID,
        'color' => array('rgb' => 'ccff99')
    )
 )
);
我对循环if even=color else no color感到困惑。

以下是我的解决方案:

因此您将数据设置到Excel中:

$excel->getActiveSheet()->fromArray($datas);
首先,对于表格标题,我应用此填充和颜色(请注意,您必须更改A1:I1以使其符合您的需要)。

$excel->getActiveSheet()->getStyle('A1:I1')->applyFromArray(
    array(
        'fill' => array(
            'type' => \PHPExcel_Style_Fill::FILL_SOLID,
            'color' => array('argb' => 'FFCCFFCC')
        ),
        'borders' => array(
            'bottom' => array('style' => \PHPExcel_Style_Border::BORDER_THIN),
            'right' => array('style' => \PHPExcel_Style_Border::BORDER_MEDIUM)
        )
    )
);
for ($i = 2; $i < count($sub); $i++) {
    if ($i % 2 == 0) {
        $excel->getActiveSheet()->getStyle('A' . $i . ':I' . $i)->applyFromArray(
            array(
                'fill' => array(
                    'type' => \PHPExcel_Style_Fill::FILL_SOLID,
                    'color' => array('argb' => 'FFF3F3F3')
                ),
            )
        );
    }
}
然后,进行一个简单的循环,对一行又一行进行着色。当然,您这次从第二行开始,到达数据计数时结束。

$excel->getActiveSheet()->getStyle('A1:I1')->applyFromArray(
    array(
        'fill' => array(
            'type' => \PHPExcel_Style_Fill::FILL_SOLID,
            'color' => array('argb' => 'FFCCFFCC')
        ),
        'borders' => array(
            'bottom' => array('style' => \PHPExcel_Style_Border::BORDER_THIN),
            'right' => array('style' => \PHPExcel_Style_Border::BORDER_MEDIUM)
        )
    )
);
for ($i = 2; $i < count($sub); $i++) {
    if ($i % 2 == 0) {
        $excel->getActiveSheet()->getStyle('A' . $i . ':I' . $i)->applyFromArray(
            array(
                'fill' => array(
                    'type' => \PHPExcel_Style_Fill::FILL_SOLID,
                    'color' => array('argb' => 'FFF3F3F3')
                ),
            )
        );
    }
}
for($i=2;$igetActiveSheet()->getStyle('A'.$i'.:i'.$i)->applyFromArray(
排列(
'填充'=>数组(
'type'=>\PHPExcel\u Style\u Fill::Fill\u SOLID,
'color'=>数组('argb'=>'fff3')
),
)
);
}
}