ooxl 0.0.1.4.8.3 → 0.0.1.4.8.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -1
- data/lib/ooxl/version.rb +1 -1
- data/lib/ooxl/xl_objects/row.rb +5 -0
- data/lib/ooxl/xl_objects/sheet.rb +6 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d2390c1057acdb0574b122afbb727df765e44cdc
|
4
|
+
data.tar.gz: 9ce841e16ce3f15fc3c4090b960a9d6b7a2ae87f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6af6199d80cf4e363be9104449a6e40a746e9a2374246521115cdf61adfd0f2e1804484a6fe0101de600c85a2e095e5fde39ed3b445b4e7381740fe4b9adfa89
|
7
|
+
data.tar.gz: 48455f48245053a6aefb95a6561288b3584ea8106801ed9ee47b846fd4a06b55864be6f6d9af6721c1efc21f79db5f2b6f0e2724aefd9d4210f7ac80f08cd003
|
data/README.md
CHANGED
@@ -55,8 +55,11 @@ sheet[0][0].value# short version
|
|
55
55
|
# Fetch cell value using the short versions
|
56
56
|
ooxl['Test Sheet 1'][0][0].value
|
57
57
|
|
58
|
+
# fetching the cell directly
|
59
|
+
ooxl['Test Sheet 1'].cell('C1')
|
60
|
+
|
58
61
|
# Detecting merged cell
|
59
|
-
ooxl['Test Sheet 1'].
|
62
|
+
ooxl['Test Sheet 1'].in_merged_cells?('C1') # true/false
|
60
63
|
```
|
61
64
|
|
62
65
|
### Iteration
|
data/lib/ooxl/version.rb
CHANGED
data/lib/ooxl/xl_objects/row.rb
CHANGED
@@ -16,6 +16,11 @@ class OOXL
|
|
16
16
|
(cell.present?) ? cell : BlankCell.new(id)
|
17
17
|
end
|
18
18
|
|
19
|
+
def cell(cell_id)
|
20
|
+
cell_final_id = cell_id[/[A-Z]{1,}\d+/] ? cell_id : "#{cell_id}#{id}"
|
21
|
+
cells.find { |cell| cell.id == cell_final_id}
|
22
|
+
end
|
23
|
+
|
19
24
|
def each
|
20
25
|
cells.each { |cell| yield cell }
|
21
26
|
end
|
@@ -72,6 +72,11 @@ class OOXL
|
|
72
72
|
columns
|
73
73
|
end
|
74
74
|
|
75
|
+
def cell(cell_id)
|
76
|
+
column_letter, row_index = cell_id.partition(/\d+/)
|
77
|
+
row(row_index).cell(column_letter)
|
78
|
+
end
|
79
|
+
|
75
80
|
def rows
|
76
81
|
@rows ||= begin
|
77
82
|
all_rows = @xml.xpath('//sheetData/row').map do |row_node|
|
@@ -182,7 +187,7 @@ class OOXL
|
|
182
187
|
self.new(Nokogiri.XML(xml_stream).remove_namespaces!, shared_strings)
|
183
188
|
end
|
184
189
|
|
185
|
-
def
|
190
|
+
def in_merged_cells?(cell_id)
|
186
191
|
column_letter, column_index = cell_id.partition(/\d+/)
|
187
192
|
range = merged_cells_range.find { |column_range, index_range| column_range.cover?(column_letter) && index_range.cover?(column_index) }
|
188
193
|
range.present?
|