2015-04-28 3 views
1

Я хочу, чтобы стиль цвета фона axlsx созданного листа на основе содержимого ячейки, которая является словом (то есть. «Pass» или «Сбой»)axlsx условного форматирования для букв/слов

я могу форматировать лист если содержимое ячейки является числом. Я пробовал изменить тип =>: containsText и добавить: text => «Fail», но без успеха. Я могу легко изменить содержимое ячейки на «Fail», но тогда я не могу заставить условный стиль работать.

Это код, который отлично работает, если значения ячеек являются числа (в данном случае 2):

red = styles.add_style(:bg_color=> 'FFFF0000', :type => :dxf) 



# Apply conditional formatting to range I:L in the worksheet 
sheet.add_conditional_formatting('I:L', { :type => :cellIs, 
              :operator => :equal, 
              :formula => "2", 
              :dxfId => red, 
              :priority => 1 }) 

Но если изменить: формула => «нормально», то он не работает. Я попытался изменить: type => containsText и множество комбинаций.

ответ

3

Взял еще немного возился вокруг, но вот ответ :)

red = styles.add_style(:bg_color=> 'FFFF0000', :type => :dxf) 
sheet.add_conditional_formatting('I:L', { :type => :containsText, 
             :text => "Fail", 
             :operator => :equal, 
             :dxfId => red, 
             :priority => 1 }) 
+0

Спасибо. Я бы поставил вас под сомнение, но у меня нет достаточной репутации для этого. –

+0

@PauloSteinitch Если бы ответ был прав, вы всегда могли принять его вместо upvote :) Привет! –

+0

Я почти уверен, что пробовал, и это не сработало. В конце концов я перешел и использовал ruby, чтобы условно присвоить стиль, который был определен в другом месте. –

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