xlsx-DSL 0.2.0 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f62e46d625e1e271ad297beca2799c9a9dc7feb2087113ce5732f1c5d7bfa169
4
- data.tar.gz: 0f008e537c785e6d4c3656eac25a21c15857dd86b7bf772317f5abf2b2082d31
3
+ metadata.gz: cc3eb8adbfbca8a31fb1adff9126a38fdadf3d4dd73aabc4874c05c2de1f5d97
4
+ data.tar.gz: e61fab9f1c1ce62af7e2ef6db0346be7e82159990a40bea4b4e907f465cd9cdd
5
5
  SHA512:
6
- metadata.gz: 5f45435a4a9202904bae705e3bd69ab8e81743f5365557e3222d7296c65e55ff95d74c085de4d03f6e94909483b693aff245797b4aa34963357520101d558268
7
- data.tar.gz: b550cfc657cbfdacb9669d20920ec74c52c72dcaa7fd64fb6f35642bae8dbac2aa066d3b5cc3b26d45bb3922ea59c5d14407103483539ab46ec8750b69049a63
6
+ metadata.gz: 584bb010504350658722f97236d7770a732981061b74e15f9670dff46d03711d1bbf27ad6cae4ddfd2e1560bc17dc9e0b817240fd05625c324ecad3627e78639
7
+ data.tar.gz: 6723d75aa93814a01dff665eccfd293bd7b963e00d82dce794a70016e550e216b97ef601844f339373733f9088ef00aa9a689c5292d990b350b82006c2198d6a
@@ -1,7 +1,7 @@
1
1
  module OpenXML
2
2
  module SpreadsheetML
3
3
  module DSL
4
- VERSION = '0.2.0'
4
+ VERSION = '0.2.3'
5
5
  end
6
6
  end
7
7
  end
data/lib/xlsx/parser.rb CHANGED
@@ -4,7 +4,7 @@ module OpenXML
4
4
  @@shared_strings = nil
5
5
 
6
6
  class << self
7
- def open xlsx_path
7
+ def open(xlsx_path)
8
8
  Zip::File.open(xlsx_path) do |zf|
9
9
  zf.each do |entry|
10
10
  content = entry.get_input_stream.read
@@ -19,6 +19,7 @@ module OpenXML
19
19
  end
20
20
  end
21
21
  @@workbook.merge_sheets(@@sheets) if @@sheets
22
+ yield(@@workbook) if block_given?
22
23
  @@workbook
23
24
  end
24
25
 
data/lib/xlsx/sheet.rb CHANGED
@@ -29,6 +29,8 @@ module OpenXML
29
29
  retrieve_rows($1, $2)
30
30
  when /^([A-Z]+)[\-:]([A-Z]+)$/
31
31
  retrieve_columns($1, $2)
32
+ when /^([A-Z]+)(\d+)[\-:]([A-Z]+)(\d+)$/
33
+ retrieve_one_matrix($1, $2, $3, $4)
32
34
  else
33
35
  raise IndexError, 'Invalid index'
34
36
  end
@@ -84,7 +86,8 @@ module OpenXML
84
86
  index = mc.top_left
85
87
  end
86
88
  end
87
- self.sheet_data[index].value
89
+ cell = self.sheet_data[index]
90
+ cell ? cell.value : nil
88
91
  end
89
92
 
90
93
  def retrieve_one_row index
@@ -118,6 +121,18 @@ module OpenXML
118
121
  end
119
122
  cells
120
123
  end
124
+
125
+ def retrieve_one_matrix (one, two, three, four)
126
+ cells = []
127
+ (two.to_i..four.to_i).each do |row_index|
128
+ row = []
129
+ (one..three).each do |column_index|
130
+ row << retrieve_one_cell(column_index+row_index.to_s)
131
+ end
132
+ cells << row
133
+ end
134
+ cells
135
+ end
121
136
  end
122
137
 
123
138
  class MergeCell
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xlsx-DSL
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cyan Yan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-12 00:00:00.000000000 Z
11
+ date: 2023-02-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri