Class: Axlsx::NumFmt

Inherits:
Object
  • Object
show all
Defined in:
lib/axlsx/stylesheet/num_fmt.rb

Overview

Note:

The recommended way to manage styles is Styles#add_style

A NumFmt object defines an identifier and formatting code for data in cells.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ NumFmt

Returns a new instance of NumFmt.



46
47
48
49
50
51
52
# File 'lib/axlsx/stylesheet/num_fmt.rb', line 46

def initialize(options={})
  @numFmtId = 0
  @formatCode = ""
  options.each do |o|
    self.send("#{o[0]}=", o[1]) if self.respond_to? o[0]
  end
end

Instance Attribute Details

#formatCodeString

Returns The formatting to use for this number format.

Returns:

  • (String)

    The formatting to use for this number format.

See Also:



45
46
47
# File 'lib/axlsx/stylesheet/num_fmt.rb', line 45

def formatCode
  @formatCode
end

#numFmtIdInteger

Note:

These are the known formats I can dig up. The constant NUM_FMT_PERCENT is 9, and uses the default % formatting. Axlsx also defines a few formats for date and time that are commonly used in asia as NUM_FMT_YYYYMMDD and NUM_FRM_YYYYMMDDHHMMSS. 1 0 2 0.00 3 #,##0 4 #,##0.00 5 $#,##0_);($#,##0) 6 $#,##0_);Red 7 $#,##0.00_);($#,##0.00) 8 $#,##0.00_);Red 9 0% 10 0.00% 11 0.00E+00 12 # ?/? 13 # ??/?? 14 m/d/yyyy 15 d-mmm-yy 16 d-mmm 17 mmm-yy 18 h:mm AM/PM 19 h:mm:ss AM/PM 20 h:mm 21 h:mm:ss 22 m/d/yyyy h:mm 37 #,##0_);(#,##0) 38 #,##0_);Red 39 #,##0.00_);(#,##0.00) 40 #,##0.00_);Red 45 mm:ss 46 [h]:mm:ss 47 mm:ss.0 48 ##0.0E+0 49 @

Returns An unsinged integer referencing a standard or custom number format.

Returns:

  • (Integer)

    An unsinged integer referencing a standard or custom number format.

See Also:



41
42
43
# File 'lib/axlsx/stylesheet/num_fmt.rb', line 41

def numFmtId
  @numFmtId
end

Instance Method Details

#to_xml_string(str = '') ⇒ String

Serializes the object

Parameters:

  • str (String) (defaults to: '')

Returns:

  • (String)


63
64
65
66
67
# File 'lib/axlsx/stylesheet/num_fmt.rb', line 63

def to_xml_string(str = '')
  str << '<numFmt '
  str << instance_values.map { |key, value| '' << key.to_s << '="' << value.to_s << '"' }.join(' ')
  str << '/>'
end