- Значит ли это, что я должен использовать ТОЛЬКО ОДИН из упомянутых выше цветов?
Если вы намерены сделать это полностью через код формата, тогда да,поскольку это единственные поддерживаемые цветовые переводы, и все остальное приведет к неверному формату.(Обычно называется «нечитаемым содержимым» в Excel)
2.Могу ли я использовать шестнадцатеричный код для отображения пользовательского цвета - скажем, светло-серый с шестнадцатеричным кодом A6A6A6?
Да, вы можете, потому что вам не нужно указывать цвет для положительных значений в format_code
. Вместо этого вам просто нужно указать цвет по умолчанию в опции fg_color
, например:
wb.styles.add_style(fg_color: 'A6A6A6', format_code: '$#,##0.00_);[Red]($#,##0.00)')
Теперь цвет по умолчанию будет «A6A6A6», и если число будет отрицательным, [Красный] заменит цвет по умолчанию.
[Подразумевается] 3. Что делать, если я тоже хочу использовать разные цвета для нулей (Часть 3 на связанной странице)
Если вам нужны дополнительныефункциональность, которую вы также можете посмотреть на условное форматирование, например, так:
zero_style = wb.styles.add(fg_color: 'FF69B4')
ws.add_conditional_formatting("A:A", # Indicates the cell range
{ type: :cellIs,
operator: :equal,
formula: "0",
dxfId: zero_style,
priority: 1
})
Сейчас: (с учетом всего вышеперечисленного)
- Положительные значения будут серыми (# A6A6A6) [По умолчанию]
- Отрицательные значения будут красным ([Красный]) и отформатированы как ($ #, ## 0,00) [Код формата]
- Точно нулевыми значениями будет Ярко-розовый (# FF69B4) [УсловныйФорматирование]