ooxl 0.0.1.4.8.3 → 0.0.1.4.8.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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?
|