2012-03-30 3 views
0

Мне нужна помощь в PHPExcel, у нас есть скрипт, который вводит журналы нашего веб-приложения, такие как поиск, ключевые слова и т. Д. В файл excel. Я хочу, чтобы скрипт отображал журналы таким образом, что несколько параметров черные, а некоторые - зеленым. Здесь си часть сценария, который мне нужно изменить:Форматирование PHPExcel

$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); 

      } 

Файл Excel имеет журналы, которые содержат даты, тип поиска, ключевые слова. поэтому я хочу, чтобы несколько типов запросов в черном, таких как поиск места в черном, поиск событий в синем, я надеюсь, что я достаточно ясен. Заранее спасибо.

+0

У вас есть попытка посмотреть в форуме phpexcel? Они предлагают множество решений для настройки цветов? Даже они предоставили хорошие примеры с загрузкой в ​​папке документов. – Kamal

+0

@kamal, чувак Я прошел через все решения на форуме, и я прочитал документацию, и он работает для меня по неизвестным причинам. Может быть, это связано с другими частями кода. – Uday

ответ

6

Чтобы установить цвет текста через PHPExcel вы можете использовать:

$sheet->getStyle("A".$cur_row)->getFont()->getColor()->applyFromArray(array("rgb" => $color)) 

Выберите цвет в зависимости от ваших ключевых слов. 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)) 
+0

Большое спасибо, я заглянул в Условное форматирование, но требование состоит в том, что я должен использовать «переключатель», чтобы он работал. И не могли бы вы рассказать о том, как использовать эти две строки с моими ключами, простите меня за незнание, я новичок в PHP. – Uday

+0

@Uday Пожалуйста, смотрите мое обновление. – TPete

+0

Большое спасибо, попробуем это и вернемся к вам, действительно оцените помощь. – Uday

0

$objPHPExcel->getActiveSheet()->getStyle('A'.$linha.':I'.$linha.'')->getFont()->getColor()->applyFromArray(array("rgb" => '$color'));

Затем установите значение $color.

Смежные вопросы