Class Spreadsheet::Format
In: lib/spreadsheet/format.rb
Parent: Object
Column Format Row Font Enumerable Worksheet\n[lib/spreadsheet/excel.rb\nlib/spreadsheet/worksheet.rb] Link Workbook Workbook\n[lib/spreadsheet/excel.rb\nlib/spreadsheet/excel/workbook.rb] SstEntry String Row Array Worksheet ExcelCompatibleWorkbook Format Worksheet Workbook DelegateClassSpreadsheet::Format Writer Compatibility Formula Reader\n[lib/parseexcel/parseexcel.rb\nlib/spreadsheet/excel/reader.rb\nlib/spreadsheet/excel/reader/biff5.rb\nlib/spreadsheet/excel/reader/biff8.rb] Error lib/spreadsheet/excel.rb lib/spreadsheet/link.rb lib/spreadsheet/formula.rb lib/spreadsheet/workbook.rb lib/spreadsheet/font.rb lib/spreadsheet/column.rb lib/spreadsheet/format.rb lib/spreadsheet/writer.rb lib/spreadsheet/row.rb Encodings lib/spreadsheet/excel.rb lib/spreadsheet/excel/row.rb lib/spreadsheet/excel/reader/biff5.rb lib/spreadsheet/excel/worksheet.rb lib/spreadsheet/excel/sst_entry.rb lib/spreadsheet/excel/error.rb lib/spreadsheet/excel/workbook.rb lib/spreadsheet/excel/writer/format.rb lib/spreadsheet/excel/writer/workbook.rb lib/spreadsheet/excel/writer/worksheet.rb Biff8 Writer Biff5 Biff8 Internals Offset Excel Datatypes ParseExcel Compatibility Spreadsheet dot/m_34_0.png

Formatting data

Methods

Included Modules

Spreadsheet::Datatypes Spreadsheet::Encodings

External Aliases

text_direction -> reading_order
text_direction= -> reading_order=
indent_level -> indent
indent_level= -> indent=

Attributes

font  [RW] 
name  [RW] 
number_format  [RW] 
pattern  [RW] 
rotation  [R]  Text rotation
used_merge  [RW] 

Public Class methods

[Source]

    # File lib/spreadsheet/format.rb, line 75
75:     def initialize opts={}
76:       @font             = Font.new client("Arial", 'UTF-8'), :family => :swiss
77:       @number_format    = client 'GENERAL', 'UTF-8'
78:       @rotation         = 0
79:       @pattern          = 0
80:       @bottom_color     = :builtin_black
81:       @top_color        = :builtin_black
82:       @left_color       = :builtin_black
83:       @right_color      = :builtin_black
84:       @diagonal_color   = :builtin_black
85:       @pattern_fg_color = :border
86:       @pattern_bg_color = :pattern_bg
87:       # Temp code to prevent merged formats in non-merged cells.
88:       @used_merge    = 0
89:       opts.each do |key, val|
90:         writer = "#{key}="
91:         if @font.respond_to? writer
92:           @font.send writer, val
93:         else
94:           self.send writer, val
95:         end
96:       end
97:       yield self if block_given?
98:     end

Public Instance methods

Combined method for both horizontal and vertical alignment. Sets the first valid value (e.g. Format#align = :justify only sets the horizontal alignment. Use one of the aliases prefixed with :v if you need to disambiguate.)

This is essentially a backward-compatibility method and may be removed at some point in the future.

[Source]

     # File lib/spreadsheet/format.rb, line 107
107:     def align= location
108:       self.horizontal_align = location
109:     rescue ArgumentError
110:       self.vertical_align = location rescue ArgumentError
111:     end

Returns an Array containing the status of the four borders: bottom, top, right, left

[Source]

     # File lib/spreadsheet/format.rb, line 115
115:     def border
116:       [bottom,top,right,left]
117:     end

Activate or deactivate all four borders (left, right, top, bottom)

[Source]

     # File lib/spreadsheet/format.rb, line 120
120:     def border=(boolean)
121:       [:bottom=, :top=, :right=, :left=].each do |writer| send writer, boolean end
122:     end

Returns an Array containing the colors of the four borders: bottom, top, right, left

[Source]

     # File lib/spreadsheet/format.rb, line 126
126:     def border_color
127:       [@bottom_color,@top_color,@left_color,@right_color]
128:     end

Set all four border colors to color (left, right, top, bottom)

[Source]

     # File lib/spreadsheet/format.rb, line 131
131:     def border_color=(color)
132:       [:bottom_color=, :top_color=, :right_color=, :left_color=].each do |writer|
133:         send writer, color end
134:     end

Backward compatibility method. May disappear at some point in the future.

[Source]

     # File lib/spreadsheet/format.rb, line 152
152:     def center_across!
153:       self.horizontal_align = :merge
154:     end

Is the cell formatted as a Date?

[Source]

     # File lib/spreadsheet/format.rb, line 158
158:     def date?
159:       !!Regexp.new(client("[YMD]", 'UTF-8')).match(@number_format.to_s)
160:     end

Is the cell formatted as a Date or Time?

[Source]

     # File lib/spreadsheet/format.rb, line 163
163:     def date_or_time?
164:       !!Regexp.new(client("[hmsYMD]", 'UTF-8')).match(@number_format.to_s)
165:     end

Is the cell formatted as a DateTime?

[Source]

     # File lib/spreadsheet/format.rb, line 168
168:     def datetime?
169:       !!Regexp.new(client("([YMD].*[HS])|([HS].*[YMD])", 'UTF-8')).match(@number_format.to_s)
170:     end
merge!()

Alias for center_across!

Set the Text rotation Valid values: Integers from -90 to 90, or :stacked (sets rotation_stacked to true)

[Source]

     # File lib/spreadsheet/format.rb, line 139
139:     def rotation=(rot)
140:       if rot.to_s.downcase == 'stacked'
141:         @rotation_stacked = true
142:         @rotation = 0
143:       elsif rot.kind_of?(Integer)
144:         @rotation_stacked = false
145:         @rotation = rot % 360
146:       else
147:         raise TypeError, "rotation value must be an Integer or the String 'stacked'"
148:       end
149:     end

Is the cell formatted as a Time?

[Source]

     # File lib/spreadsheet/format.rb, line 173
173:     def time?
174:       !!Regexp.new(client("[hms]", 'UTF-8')).match(@number_format.to_s)
175:     end

[Validate]