xlsx-DSL 0.2.0 → 0.2.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 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