ooxl 0.0.1.4.8.2 → 0.0.1.4.8.3
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 +3 -0
- data/lib/ooxl/version.rb +1 -1
- data/lib/ooxl/xl_objects/sheet.rb +16 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0b6a832c55f4d6416993a46a825374f1bfe1f836
|
4
|
+
data.tar.gz: 6523eea889771a54af020a916e7c2da8673337b5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 27fa7b1b8f123c11220e5562e3ee7322a2207af4daf22d3ef195eb156f53c5dfb2bc4f564b97ec3c1ca8d8791034ea8bd17973464d6e49d5f6fcac3ed9155504
|
7
|
+
data.tar.gz: b49e9fb06d3a84eb64e1a95a05ca92b74f42b10f38818ded53552d4acb759d54e8cfb364ee279dd0ee640b7237211f9752fbe61c57df9e09ddd83dcf424ef25b
|
data/README.md
CHANGED
data/lib/ooxl/version.rb
CHANGED
@@ -74,8 +74,6 @@ class OOXL
|
|
74
74
|
|
75
75
|
def rows
|
76
76
|
@rows ||= begin
|
77
|
-
# TODO: get the value of merged cells
|
78
|
-
# merged_cells = @xml.xpath('//mergeCells/mergeCell').map { |merged_cell| merged_cell.attributes["ref"].try(:value) }
|
79
77
|
all_rows = @xml.xpath('//sheetData/row').map do |row_node|
|
80
78
|
row = Row.load_from_node(row_node, @shared_strings, styles)
|
81
79
|
yield row if block_given?
|
@@ -184,6 +182,12 @@ class OOXL
|
|
184
182
|
self.new(Nokogiri.XML(xml_stream).remove_namespaces!, shared_strings)
|
185
183
|
end
|
186
184
|
|
185
|
+
def in_merged_cell?(cell_id)
|
186
|
+
column_letter, column_index = cell_id.partition(/\d+/)
|
187
|
+
range = merged_cells_range.find { |column_range, index_range| column_range.cover?(column_letter) && index_range.cover?(column_index) }
|
188
|
+
range.present?
|
189
|
+
end
|
190
|
+
|
187
191
|
private
|
188
192
|
def fetch_row_by_id(row_id)
|
189
193
|
rows.find { |row| row.id == row_id.to_s}
|
@@ -195,5 +199,15 @@ class OOXL
|
|
195
199
|
rows[row_index][cell_reference].style_id
|
196
200
|
end
|
197
201
|
|
202
|
+
def merged_cells_range
|
203
|
+
@merged_cells ||= @xml.xpath('//mergeCells/mergeCell').map do |merged_cell|
|
204
|
+
# <mergeCell ref="Q381:R381"/>
|
205
|
+
start_reference, end_reference = merged_cell.attributes["ref"].try(:value).split(':')
|
206
|
+
|
207
|
+
start_column_letter, start_index = start_reference.partition(/\d+/)
|
208
|
+
end_column_letter, end_index = end_reference.partition(/\d+/)
|
209
|
+
[(start_column_letter..end_column_letter), (start_index..end_index)]
|
210
|
+
end.to_h
|
211
|
+
end
|
198
212
|
end
|
199
213
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ooxl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.1.4.8.
|
4
|
+
version: 0.0.1.4.8.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Mones
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-10-
|
11
|
+
date: 2016-10-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|