Изменить цвет текста в ячейке Excel на основе определенного условия - Ruby on Rails - PullRequest
0 голосов
/ 24 декабря 2018

Я использую axlsx gem для создания листов Excel в Ruby on Rails.

У меня есть эта строка, которая добавляет строку к листу Excel

current_row = sheet.add_row [v1, v2, v3], :style => style1

Теперь, v1, v2 & v3 в приведенном коде указаны значения валют.И любое из этих 3 значений также может быть отрицательным значением.

Теперь, какое бы значение не было отрицательным, я бы хотел, чтобы это значение отображалось красным шрифтом текста (НЕ фоновым цветом).Если значение положительное, текст должен быть обычного черного цвета.

Как мне добиться этого условного цвета текста?

1 Ответ

0 голосов
/ 24 декабря 2018

ниже приведен пример шага

# first, create style
black_cell = s.add_style :bg_color => "FF", :fg_color => "00", :sz => 14, :alignment => { :horizontal=> :center }
red_cell = s.add_style :bg_color => "FF", :fg_color => "FF0000", :sz => 20, :alignment => { :horizontal=> :center }

# second create array to manage style, if many element you can do loop the array instead using v1, v2, v3
arr1 = Array.new
sv = v1 >= 0 ? black_cell : red_cell
arr1 << sv 
sv = v2 >= 0 ? black_cell : red_cell
arr1 << sv 
sv = v3 >= 0 ? black_cell : red_cell
arr1 << sv 

# third create the row
current_row = sheet.add_row [v1, v2, v3], :style => arr1
...