цвет фона строки таблицы - PullRequest
6 голосов
/ 11 октября 2011

Я пытаюсь проанализировать электронную таблицу Excel, используя "электронную таблицу".Как я могу получить цвет фона каждой строки?

Ответы [ 3 ]

17 голосов
/ 17 февраля 2013
book = Spreadsheet::Workbook.new 
sheet = book.create_worksheet :name => 'Name'
format = Spreadsheet::Format.new :color=> :blue, :pattern_fg_color => :yellow, :pattern => 1
sheet.row(0).set_format(0, format) #for first cell in first row

или

sheet.row(0).default_format = format #for entire first row

вы можете перебирать каждую строку / ячейку и применять стиль именно там, где вы хотите

4 голосов
/ 24 мая 2013

Я искал цвета, которые можно использовать для цвета фона ячейки. Например:

Spreadsheet::Format.new({ :weight => :bold, :pattern => 1, :pattern_fg_color => :silver })

Я не смог найти хорошую информацию о том, какие цвета я мог бы использовать: pattern_fg_color. Я решил поискать справку по Excel и нашел: http://dmcritchie.mvps.org/excel/colors.htm (в «Назначениях для 16 цветов для DOS»).

Похоже, работают 16 лучших цветов:

0 черный, 1 темно-синий, 2 зеленых, 3 бирюзовых, 4 бордовых, 5 фиолетовых, 6 оливковых, 7 серебряных, 8 Серых, 9 Синих, 10 Лаймовых, 11 Аква, 12 красных, 13 Фуксийских, 14 Желтых, 15 Белых

1 голос
/ 24 декабря 2011

Я только что пытался выяснить то же самое, и похоже, что в текущей версии (0.6.5.9) гема Spreadsheet атрибут цвета фона ячейки не поддерживается в считывателе (вы можете определить цвет фона только в ячейкахдля записи).

Вот как проверить все доступные в настоящее время атрибуты ячейки:

a = Spreadsheet.open('/folder/spreadsheet.xls')
puts a.worksheets[0].row(<rownumber>).format(<columnnumber>).inspect

Однако после некоторых экспериментов я понял, что не все из них извлечены должным образом.Хорошей новостью является то, что разработчики обещают реализовать лучшую поддержку форматов ячеек в будущих версиях, поэтому нам просто нужно набраться терпения:)

...