Class: Spreadsheet::Excel::Worksheet
Overview
Excel-specific Worksheet methods. These are mostly pertinent to the Excel reader, and to recording changes to the Worksheet. You should have no reason to use any of these.
Instance Attribute Summary collapse
Attributes included from Offset
#changes, #offsets
Attributes inherited from Worksheet
#columns, #froze_left, #froze_top, #merged_cells, #name, #password_hash, #selected, #workbook
Instance Method Summary
collapse
Methods included from Offset
append_features
#ivar_name, #method_name
Methods inherited from Worksheet
#<<, #[], #[]=, #active, #active=, #add_format, #cell, #column_count, #column_updated, #compact!, #default_format, #default_format=, #delete_row, #dimensions, #encoding, #format_column, #format_dates!, #freeze!, #has_frozen_panel?, #insert_row, #inspect, #last_row, #last_row_index, #merge_cells, #new_format_column, #protect!, #protected?, #replace_row, #row_count, #update_row, #updated_from, #write, #write_column, #write_row, #write_url
Methods included from Datatypes
append_features
Constructor Details
#initialize(opts = {}) ⇒ Worksheet
15
16
17
18
19
20
21
22
23
|
# File 'lib/spreadsheet/excel/worksheet.rb', line 15
def initialize opts = {}
@row_addresses = nil
super
@offset, @ole, @reader = opts[:offset], opts[:ole], opts[:reader]
@dimensions = nil
@links = {}
@guts = {}
@notes = {}
end
|
Instance Attribute Details
#guts ⇒ Object
Returns the value of attribute guts.
14
15
16
|
# File 'lib/spreadsheet/excel/worksheet.rb', line 14
def guts
@guts
end
|
#links ⇒ Object
Returns the value of attribute links.
14
15
16
|
# File 'lib/spreadsheet/excel/worksheet.rb', line 14
def links
@links
end
|
#notes ⇒ Object
Returns the value of attribute notes.
14
15
16
|
# File 'lib/spreadsheet/excel/worksheet.rb', line 14
def notes
@notes
end
|
#offset ⇒ Object
Returns the value of attribute offset.
14
15
16
|
# File 'lib/spreadsheet/excel/worksheet.rb', line 14
def offset
@offset
end
|
#ole ⇒ Object
Returns the value of attribute ole.
14
15
16
|
# File 'lib/spreadsheet/excel/worksheet.rb', line 14
def ole
@ole
end
|
Instance Method Details
#add_link(row, column, link) ⇒ Object
25
26
27
|
# File 'lib/spreadsheet/excel/worksheet.rb', line 25
def add_link row, column, link
@links.store [row, column], link
end
|
#add_note(row, column, note) ⇒ Object
29
30
31
|
# File 'lib/spreadsheet/excel/worksheet.rb', line 29
def add_note row, column, note
@notes.store [row, column], note
end
|
#column(idx) ⇒ Object
33
34
35
36
|
# File 'lib/spreadsheet/excel/worksheet.rb', line 33
def column idx
ensure_rows_read
super
end
|
#date_base ⇒ Object
38
39
40
|
# File 'lib/spreadsheet/excel/worksheet.rb', line 38
def date_base
@workbook.date_base
end
|
#each(*args) ⇒ Object
52
53
54
55
|
# File 'lib/spreadsheet/excel/worksheet.rb', line 52
def each *args
ensure_rows_read
super
end
|
#ensure_rows_read ⇒ Object
57
58
59
60
61
62
|
# File 'lib/spreadsheet/excel/worksheet.rb', line 57
def ensure_rows_read
return if @row_addresses
@dimensions = nil
@row_addresses = []
@reader&.read_worksheet self, @offset
end
|
#margins ⇒ Object
42
43
44
45
|
# File 'lib/spreadsheet/excel/worksheet.rb', line 42
def margins
ensure_rows_read
super
end
|
#pagesetup ⇒ Object
47
48
49
50
|
# File 'lib/spreadsheet/excel/worksheet.rb', line 47
def pagesetup
ensure_rows_read
super
end
|
#row(idx) ⇒ Object
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
# File 'lib/spreadsheet/excel/worksheet.rb', line 64
def row idx
@rows[idx] or begin
ensure_rows_read
if (addr = @row_addresses[idx])
row = @reader.read_row self, addr
[:default_format, :height, :outline_level, :hidden].each do |key|
row.send :"unupdated_#{key}=", addr[key]
end
row.worksheet = self
row
else
Row.new self, idx
end
end
end
|
#row_updated(idx, row) ⇒ Object
84
85
86
87
88
89
90
91
|
# File 'lib/spreadsheet/excel/worksheet.rb', line 84
def row_updated idx, row
res = super
@workbook.changes.store self, true
@workbook.changes.store :boundsheets, true
@changes.store idx, true
@changes.store :dimensions, true
res
end
|
#rows ⇒ Object
80
81
82
|
# File 'lib/spreadsheet/excel/worksheet.rb', line 80
def rows
to_a
end
|
#set_row_address(idx, opts) ⇒ Object
93
94
95
96
|
# File 'lib/spreadsheet/excel/worksheet.rb', line 93
def set_row_address idx, opts
@offsets.store idx, opts[:row_block]
@row_addresses[idx] = opts
end
|
#shared_string(idx) ⇒ Object
98
99
100
|
# File 'lib/spreadsheet/excel/worksheet.rb', line 98
def shared_string idx
@workbook.shared_string idx
end
|