ooxl 0.0.1.4.8.2 → 0.0.1.4.8.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|