Uda*_*day 0 php formatting switch-statement phpexcel
我需要一些关于PHPExcel的帮助,我们有一个脚本可以将我们的Web应用程序的日志(如搜索,关键字等)输入到excel文件中.我希望脚本以这样的方式显示日志,即少数参数为黑色,少数为绿色.这是我需要修改的脚本部分:
$data = parse_command($log_command, $content);
$command = $data['command'];
$params = $data['params'];
if ($command == 'skip')
continue;
$curr_row++;
if ($save_to_excel)
{
$objPHPExcel->getActiveSheet()->getStyle('A'.$curr_row.':C'.$curr_row)->getFont()->setSize(10);
$objPHPExcel->getActiveSheet()->getStyle('A'.$curr_row)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX15);
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A'.$curr_row, $request_time)
->setCellValue('B'.$curr_row, $command)
->setCellValue('C'.$curr_row, $params);
}
Run Code Online (Sandbox Code Playgroud)
excel文件包含日志,搜索类型,关键字.所以我想在Black中进行几种类型的搜索,例如黑色的Venue搜索,Blue中的事件搜索,我希望我足够清楚.提前致谢.
要通过phpexcel设置文本颜色,您可以使用:
$sheet->getStyle("A".$cur_row)->getFont()->getColor()->applyFromArray(array("rgb" => $color))
Run Code Online (Sandbox Code Playgroud)
根据您的关键字选择颜色.Phpexcel还支持条件格式,它在下载包中包含的"开发人员文档"的第4.6.23节中描述.
用法:
假设您要根据其内容为第二列着色:
$color = "000000";
switch ($command) {
case "keyword_yellow" : $color = "FFA500"; break;
case "keyword_red" : $color = "FF0000"; break;
case "keyword_green" : $color = "008000"; break;
}
$objPHPExcel->getActiveSheet()->getStyle("B".$cur_row)->getFont()->getColor()->applyFromArray(array("rgb" => $color))
Run Code Online (Sandbox Code Playgroud)