class Roo::Excelx::Styles
Public Instance Methods
definitions()
click to toggle source
# File lib/roo/excelx/styles.rb, line 12 def definitions @definitions ||= extract_definitions end
style_format(style)
click to toggle source
convert internal excelx attribute to a format
# File lib/roo/excelx/styles.rb, line 7 def style_format(style) id = num_fmt_ids[style.to_i] num_fmts[id] || Excelx::Format::STANDARD_FORMATS[id.to_i] end
Private Instance Methods
extract_definitions()
click to toggle source
# File lib/roo/excelx/styles.rb, line 30 def extract_definitions doc.xpath("//cellXfs").flat_map do |xfs| xfs.children.map do |xf| fonts[xf['fontId'].to_i] end end end
extract_fonts()
click to toggle source
# File lib/roo/excelx/styles.rb, line 38 def extract_fonts doc.xpath("//fonts/font").map do |font_el| Font.new.tap do |font| font.bold = !font_el.xpath('./b').empty? font.italic = !font_el.xpath('./i').empty? font.underline = !font_el.xpath('./u').empty? end end end
extract_num_fmt_ids()
click to toggle source
# File lib/roo/excelx/styles.rb, line 48 def extract_num_fmt_ids doc.xpath("//cellXfs").flat_map do |xfs| xfs.children.map do |xf| xf['numFmtId'] end end end
extract_num_fmts()
click to toggle source
# File lib/roo/excelx/styles.rb, line 56 def extract_num_fmts Hash[doc.xpath("//numFmt").map do |num_fmt| [num_fmt['numFmtId'], num_fmt['formatCode']] end] end
fonts()
click to toggle source
# File lib/roo/excelx/styles.rb, line 26 def fonts @fonts ||= extract_fonts end
num_fmt_ids()
click to toggle source
# File lib/roo/excelx/styles.rb, line 18 def num_fmt_ids @num_fmt_ids ||= extract_num_fmt_ids end
num_fmts()
click to toggle source
# File lib/roo/excelx/styles.rb, line 22 def num_fmts @num_fmts ||= extract_num_fmts end