Class: Saxlsx::Workbook
- Inherits:
-
Object
- Object
- Saxlsx::Workbook
- Defined in:
- lib/saxlsx/workbook.rb
Constant Summary collapse
- DATE_SYSTEM_1900 =
DateTime.new(1899, 12, 30)
- DATE_SYSTEM_1904 =
DateTime.new(1904, 1, 1)
Instance Attribute Summary collapse
-
#auto_format ⇒ Object
readonly
Returns the value of attribute auto_format.
-
#date1904 ⇒ Object
Returns the value of attribute date1904.
Class Method Summary collapse
Instance Method Summary collapse
- #base_date ⇒ Object
- #close ⇒ Object
-
#initialize(filename, auto_format: true) ⇒ Workbook
constructor
A new instance of Workbook.
- #number_formats ⇒ Object
- #shared_strings ⇒ Object
- #sheet_names ⇒ Object
- #sheets(name = nil) ⇒ Object
- #to_csv(path) ⇒ Object
Constructor Details
#initialize(filename, auto_format: true) ⇒ Workbook
Returns a new instance of Workbook.
19 20 21 22 |
# File 'lib/saxlsx/workbook.rb', line 19 def initialize(filename, auto_format: true) @file_system = FileSystem.new filename @auto_format = auto_format end |
Instance Attribute Details
#auto_format ⇒ Object (readonly)
Returns the value of attribute auto_format.
8 9 10 |
# File 'lib/saxlsx/workbook.rb', line 8 def auto_format @auto_format end |
#date1904 ⇒ Object
Returns the value of attribute date1904.
7 8 9 |
# File 'lib/saxlsx/workbook.rb', line 7 def date1904 @date1904 end |
Class Method Details
.open(filename, **kw_args) ⇒ Object
10 11 12 13 14 15 16 17 |
# File 'lib/saxlsx/workbook.rb', line 10 def self.open(filename, **kw_args) begin workbook = new(filename, **kw_args) yield workbook ensure workbook.close if workbook end end |
Instance Method Details
#base_date ⇒ Object
45 46 47 |
# File 'lib/saxlsx/workbook.rb', line 45 def base_date @base_date ||= date1904 ? DATE_SYSTEM_1904 : DATE_SYSTEM_1900 end |
#close ⇒ Object
24 25 26 |
# File 'lib/saxlsx/workbook.rb', line 24 def close @file_system.close end |
#number_formats ⇒ Object
41 42 43 |
# File 'lib/saxlsx/workbook.rb', line 41 def number_formats @number_formats ||= StyleCollection.new(@file_system).to_a end |
#shared_strings ⇒ Object
37 38 39 |
# File 'lib/saxlsx/workbook.rb', line 37 def shared_strings @shared_strings ||= SharedStringCollection.new(@file_system).to_a end |
#sheet_names ⇒ Object
33 34 35 |
# File 'lib/saxlsx/workbook.rb', line 33 def sheet_names sheets.map(&:name) end |
#sheets(name = nil) ⇒ Object
28 29 30 31 |
# File 'lib/saxlsx/workbook.rb', line 28 def sheets(name=nil) @sheets ||= SheetCollection.new(@file_system, self).to_a name.nil? ? @sheets : @sheets.detect { |s| s.name == name } end |
#to_csv(path) ⇒ Object
49 50 51 |
# File 'lib/saxlsx/workbook.rb', line 49 def to_csv(path) sheets.each { |s| s.to_csv path } end |