spreadsheet 1.3.3 → 1.3.5
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/bin/irb +29 -0
- data/bin/racc +29 -0
- data/bin/rdbg +29 -0
- data/bin/rdoc +29 -0
- data/bin/ri +29 -0
- data/bin/rubocop +29 -0
- data/bin/ruby-parse +29 -0
- data/bin/ruby-rewrite +29 -0
- data/bin/standardrb +29 -0
- data/bin/test-unit +29 -0
- data/lib/parseexcel/parseexcel.rb +66 -58
- data/lib/parseexcel/parser.rb +1 -1
- data/lib/parseexcel.rb +1 -1
- data/lib/spreadsheet/column.rb +13 -10
- data/lib/spreadsheet/compatibility.rb +3 -1
- data/lib/spreadsheet/datatypes.rb +150 -147
- data/lib/spreadsheet/encodings.rb +20 -16
- data/lib/spreadsheet/errors.rb +2 -2
- data/lib/spreadsheet/excel/error.rb +23 -22
- data/lib/spreadsheet/excel/internals/biff5.rb +11 -11
- data/lib/spreadsheet/excel/internals/biff8.rb +13 -13
- data/lib/spreadsheet/excel/internals.rb +451 -451
- data/lib/spreadsheet/excel/offset.rb +34 -31
- data/lib/spreadsheet/excel/password_hash.rb +18 -18
- data/lib/spreadsheet/excel/reader/biff5.rb +34 -35
- data/lib/spreadsheet/excel/reader/biff8.rb +235 -222
- data/lib/spreadsheet/excel/reader.rb +1331 -1274
- data/lib/spreadsheet/excel/rgb.rb +91 -91
- data/lib/spreadsheet/excel/row.rb +99 -91
- data/lib/spreadsheet/excel/sst_entry.rb +41 -38
- data/lib/spreadsheet/excel/workbook.rb +87 -76
- data/lib/spreadsheet/excel/worksheet.rb +126 -107
- data/lib/spreadsheet/excel/writer/biff8.rb +57 -55
- data/lib/spreadsheet/excel/writer/format.rb +274 -256
- data/lib/spreadsheet/excel/writer/n_worksheet.rb +838 -798
- data/lib/spreadsheet/excel/writer/workbook.rb +672 -635
- data/lib/spreadsheet/excel/writer/worksheet.rb +899 -861
- data/lib/spreadsheet/excel/writer.rb +1 -1
- data/lib/spreadsheet/excel.rb +19 -12
- data/lib/spreadsheet/font.rb +31 -26
- data/lib/spreadsheet/format.rb +75 -59
- data/lib/spreadsheet/link.rb +8 -5
- data/lib/spreadsheet/note.rb +7 -6
- data/lib/spreadsheet/noteObject.rb +6 -5
- data/lib/spreadsheet/row.rb +35 -24
- data/lib/spreadsheet/version.rb +1 -1
- data/lib/spreadsheet/workbook.rb +28 -13
- data/lib/spreadsheet/worksheet.rb +103 -68
- data/lib/spreadsheet/writer.rb +3 -0
- data/lib/spreadsheet.rb +12 -15
- data/test/data/test_row_record_empty_range.xls +0 -0
- data/test/excel/reader.rb +8 -8
- data/test/excel/row.rb +35 -31
- data/test/excel/writer/workbook.rb +18 -16
- data/test/excel/writer/worksheet.rb +10 -8
- data/test/font.rb +44 -32
- data/test/format.rb +38 -33
- data/test/integration.rb +641 -598
- data/test/row.rb +5 -3
- data/test/suite.rb +7 -7
- data/test/workbook.rb +15 -14
- data/test/workbook_protection.rb +5 -5
- data/test/worksheet.rb +36 -34
- metadata +59 -6
data/test/row.rb
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
# TestRow -- Spreadsheet -- 08.01.2009 -- hwyss@ywesee.com
|
|
3
3
|
|
|
4
|
-
$: << File.expand_path(
|
|
4
|
+
$: << File.expand_path("../../lib", File.dirname(__FILE__))
|
|
5
5
|
|
|
6
|
-
require
|
|
7
|
-
require
|
|
6
|
+
require "test/unit"
|
|
7
|
+
require "spreadsheet"
|
|
8
8
|
|
|
9
9
|
module Spreadsheet
|
|
10
10
|
class TestRow < Test::Unit::TestCase
|
|
@@ -13,12 +13,14 @@ module Spreadsheet
|
|
|
13
13
|
@worksheet = Excel::Worksheet.new
|
|
14
14
|
@workbook.add_worksheet @worksheet
|
|
15
15
|
end
|
|
16
|
+
|
|
16
17
|
def test_formatted
|
|
17
18
|
row = Row.new @worksheet, 0, [nil, 1]
|
|
18
19
|
assert_equal 2, row.formatted.size
|
|
19
20
|
row.set_format 3, Format.new
|
|
20
21
|
assert_equal 4, row.formatted.size
|
|
21
22
|
end
|
|
23
|
+
|
|
22
24
|
def test_concat
|
|
23
25
|
row = Row.new @worksheet, 0, [nil, 1, nil]
|
|
24
26
|
assert_equal [nil, 1, nil], row
|
data/test/suite.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
# suite.rb -- spreadsheet -- 22.12.2011 -- jsaak@napalm.hu
|
|
3
|
-
require
|
|
4
|
-
require
|
|
5
|
-
require
|
|
6
|
-
require
|
|
3
|
+
require "rubygems"
|
|
4
|
+
require "bundler"
|
|
5
|
+
require "find"
|
|
6
|
+
require "simplecov"
|
|
7
7
|
SimpleCov.start
|
|
8
8
|
|
|
9
9
|
$VERBOSE = true
|
|
@@ -13,8 +13,8 @@ here = File.dirname(__FILE__)
|
|
|
13
13
|
$: << here
|
|
14
14
|
|
|
15
15
|
Find.find(here) do |file|
|
|
16
|
-
next if File.basename(file) ==
|
|
17
|
-
if
|
|
18
|
-
require file[here.size+1
|
|
16
|
+
next if File.basename(file) == "suite.rb"
|
|
17
|
+
if /\.rb$/o.match?(file)
|
|
18
|
+
require file[here.size + 1..]
|
|
19
19
|
end
|
|
20
20
|
end
|
data/test/workbook.rb
CHANGED
|
@@ -1,32 +1,34 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
# TestWorkbook -- Spreadsheet -- 24.09.2008 -- hwyss@ywesee.com
|
|
3
3
|
|
|
4
|
-
$: << File.expand_path(
|
|
4
|
+
$: << File.expand_path("../lib", File.dirname(__FILE__))
|
|
5
5
|
|
|
6
|
-
require
|
|
7
|
-
require
|
|
8
|
-
require
|
|
9
|
-
require
|
|
6
|
+
require "test/unit"
|
|
7
|
+
require "spreadsheet"
|
|
8
|
+
require "fileutils"
|
|
9
|
+
require "stringio"
|
|
10
10
|
|
|
11
11
|
module Spreadsheet
|
|
12
12
|
class TestWorkbook < Test::Unit::TestCase
|
|
13
13
|
def setup
|
|
14
|
-
@io = StringIO.new
|
|
14
|
+
@io = StringIO.new ""
|
|
15
15
|
@book = Workbook.new
|
|
16
16
|
end
|
|
17
|
+
|
|
17
18
|
def test_writer__default_excel
|
|
18
19
|
assert_instance_of Excel::Writer::Workbook, @book.writer(@io)
|
|
19
20
|
end
|
|
21
|
+
|
|
20
22
|
def test_sheet_count
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
@worksheet1 = Excel::Worksheet.new
|
|
24
|
+
@book.add_worksheet @worksheet1
|
|
25
|
+
assert_equal 1, @book.sheet_count
|
|
26
|
+
@worksheet2 = Excel::Worksheet.new
|
|
27
|
+
@book.add_worksheet @worksheet2
|
|
28
|
+
assert_equal 2, @book.sheet_count
|
|
27
29
|
end
|
|
28
|
-
def test_add_format
|
|
29
30
|
|
|
31
|
+
def test_add_format
|
|
30
32
|
assert_equal 1, @book.formats.length # Received a default format
|
|
31
33
|
|
|
32
34
|
f1 = Format.new
|
|
@@ -50,6 +52,5 @@ module Spreadsheet
|
|
|
50
52
|
assert_equal(changed_count, original_count + 1)
|
|
51
53
|
assert_equal(original_count, @book.sheet_count)
|
|
52
54
|
end
|
|
53
|
-
|
|
54
55
|
end
|
|
55
56
|
end
|
data/test/workbook_protection.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
|
|
3
|
-
$: << File.expand_path(
|
|
3
|
+
$: << File.expand_path("../lib", File.dirname(__FILE__))
|
|
4
4
|
|
|
5
|
-
require
|
|
6
|
-
require
|
|
5
|
+
require "test/unit"
|
|
6
|
+
require "spreadsheet"
|
|
7
7
|
|
|
8
8
|
module Spreadsheet
|
|
9
9
|
module Excel
|
|
@@ -11,8 +11,8 @@ module Spreadsheet
|
|
|
11
11
|
def test_password_hashing
|
|
12
12
|
hashing_module = Spreadsheet::Excel::Password
|
|
13
13
|
# Some examples found on the web
|
|
14
|
-
assert_equal(0xFEF1, hashing_module.password_hash(
|
|
15
|
-
assert_equal(hashing_module.password_hash(
|
|
14
|
+
assert_equal(0xFEF1, hashing_module.password_hash("abcdefghij"))
|
|
15
|
+
assert_equal(hashing_module.password_hash("test"), hashing_module.password_hash("zzyw"))
|
|
16
16
|
end
|
|
17
17
|
end
|
|
18
18
|
end
|
data/test/worksheet.rb
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
# TestWorksheet -- Spreadheet -- 30.09.2008 -- hwyss@ywesee.com
|
|
3
3
|
|
|
4
|
-
$: << File.expand_path(
|
|
4
|
+
$: << File.expand_path("../lib", File.dirname(__FILE__))
|
|
5
5
|
|
|
6
|
-
require
|
|
7
|
-
require
|
|
6
|
+
require "test/unit"
|
|
7
|
+
require "spreadsheet"
|
|
8
8
|
|
|
9
9
|
module Spreadsheet
|
|
10
10
|
class TestWorksheet < Test::Unit::TestCase
|
|
@@ -12,49 +12,52 @@ module Spreadsheet
|
|
|
12
12
|
@book = Workbook.new
|
|
13
13
|
@sheet = @book.create_worksheet
|
|
14
14
|
end
|
|
15
|
+
|
|
15
16
|
def test_cell_writer
|
|
16
|
-
assert_nil @sheet[0,0]
|
|
17
|
+
assert_nil @sheet[0, 0]
|
|
17
18
|
assert_equal 0, @sheet.column_count
|
|
18
19
|
assert_equal 0, @sheet.row_count
|
|
19
|
-
@sheet[0,0] =
|
|
20
|
-
assert_equal
|
|
20
|
+
@sheet[0, 0] = "foo"
|
|
21
|
+
assert_equal "foo", @sheet[0, 0]
|
|
21
22
|
assert_equal 1, @sheet.column_count
|
|
22
23
|
assert_equal 1, @sheet.row_count
|
|
23
|
-
@sheet[1,0] =
|
|
24
|
+
@sheet[1, 0] = "bar"
|
|
24
25
|
assert_equal 1, @sheet.column_count
|
|
25
26
|
assert_equal 2, @sheet.row_count
|
|
26
|
-
@sheet[0,1] =
|
|
27
|
+
@sheet[0, 1] = "bar"
|
|
27
28
|
assert_equal 2, @sheet.column_count
|
|
28
29
|
assert_equal 2, @sheet.row_count
|
|
29
|
-
@sheet[1,0] = nil
|
|
30
|
+
@sheet[1, 0] = nil
|
|
30
31
|
assert_equal 2, @sheet.column_count
|
|
31
32
|
assert_equal 2, @sheet.row_count
|
|
32
|
-
@sheet[0,1] = nil
|
|
33
|
+
@sheet[0, 1] = nil
|
|
33
34
|
assert_equal 2, @sheet.column_count
|
|
34
35
|
assert_equal 2, @sheet.row_count
|
|
35
36
|
end
|
|
37
|
+
|
|
36
38
|
def test_column_count
|
|
37
39
|
assert_equal 0, @sheet.column_count
|
|
38
|
-
@sheet.replace_row 3, nil, nil, 1, 2,
|
|
40
|
+
@sheet.replace_row 3, nil, nil, 1, 2, "foo, bar"
|
|
39
41
|
assert_equal 3, @sheet.column_count
|
|
40
|
-
@sheet.replace_row 8, nil,
|
|
42
|
+
@sheet.replace_row 8, nil, "something", 4, 7, nil
|
|
41
43
|
assert_equal 4, @sheet.column_count
|
|
42
|
-
@sheet.replace_row 5, 4,
|
|
44
|
+
@sheet.replace_row 5, 4, "something", 4, 7, nil
|
|
43
45
|
assert_equal 5, @sheet.column_count
|
|
44
|
-
@sheet.replace_row 5, nil,
|
|
46
|
+
@sheet.replace_row 5, nil, "something", 4, 7, nil
|
|
45
47
|
assert_equal 4, @sheet.column_count
|
|
46
48
|
@sheet.replace_row 3
|
|
47
49
|
assert_equal 4, @sheet.column_count
|
|
48
50
|
end
|
|
51
|
+
|
|
49
52
|
def test_row_count
|
|
50
53
|
assert_equal 0, @sheet.row_count
|
|
51
|
-
@sheet.replace_row 3, nil, nil, 1, 2,
|
|
54
|
+
@sheet.replace_row 3, nil, nil, 1, 2, "foo, bar"
|
|
52
55
|
assert_equal 1, @sheet.row_count
|
|
53
|
-
@sheet.replace_row 8, nil,
|
|
56
|
+
@sheet.replace_row 8, nil, "something", 4, 7, nil
|
|
54
57
|
assert_equal 6, @sheet.row_count
|
|
55
|
-
@sheet.replace_row 5, 4,
|
|
58
|
+
@sheet.replace_row 5, 4, "something", 4, 7, nil
|
|
56
59
|
assert_equal 6, @sheet.row_count
|
|
57
|
-
@sheet.replace_row 5, nil,
|
|
60
|
+
@sheet.replace_row 5, nil, "something", 4, 7, nil
|
|
58
61
|
assert_equal 6, @sheet.row_count
|
|
59
62
|
@sheet.replace_row 3
|
|
60
63
|
assert_equal 6, @sheet.row_count
|
|
@@ -67,6 +70,7 @@ module Spreadsheet
|
|
|
67
70
|
@sheet.delete_row 2
|
|
68
71
|
assert_equal 3, @sheet.row_count
|
|
69
72
|
end
|
|
73
|
+
|
|
70
74
|
def test_modify_column
|
|
71
75
|
assert_equal 10, @sheet.column(0).width
|
|
72
76
|
@sheet.column(1).width = 20
|
|
@@ -76,6 +80,7 @@ module Spreadsheet
|
|
|
76
80
|
assert_equal 30, @sheet.column(0).width
|
|
77
81
|
assert_equal 20, @sheet.column(1).width
|
|
78
82
|
end
|
|
83
|
+
|
|
79
84
|
def test_format_dates!
|
|
80
85
|
rowi = -1
|
|
81
86
|
|
|
@@ -83,30 +88,29 @@ module Spreadsheet
|
|
|
83
88
|
# No dates = no new formats
|
|
84
89
|
assert_equal 1, @book.formats.length # Default format
|
|
85
90
|
|
|
86
|
-
@sheet.row(rowi+=1).concat(["Hello", "World"])
|
|
91
|
+
@sheet.row(rowi += 1).concat(["Hello", "World"])
|
|
87
92
|
@sheet.format_dates!
|
|
88
93
|
# No dates = no new formats
|
|
89
94
|
assert_equal 1, @book.formats.length
|
|
90
95
|
|
|
91
|
-
@sheet.row(rowi+=1).concat([Date.new(2010,1,1)])
|
|
96
|
+
@sheet.row(rowi += 1).concat([Date.new(2010, 1, 1)])
|
|
92
97
|
@sheet.format_dates!
|
|
93
98
|
# 1 date = 1 new format
|
|
94
99
|
assert_equal 2, @book.formats.length
|
|
95
100
|
|
|
96
|
-
@sheet.row(rowi+=1).concat([Date.new(2011,1,1)])
|
|
97
|
-
@sheet.row(rowi+=1).concat([Date.new(2012,1,1)])
|
|
98
|
-
@sheet.row(rowi+=1).concat([Date.new(2013,1,1)])
|
|
101
|
+
@sheet.row(rowi += 1).concat([Date.new(2011, 1, 1)])
|
|
102
|
+
@sheet.row(rowi += 1).concat([Date.new(2012, 1, 1)])
|
|
103
|
+
@sheet.row(rowi += 1).concat([Date.new(2013, 1, 1)])
|
|
99
104
|
@sheet.format_dates!
|
|
100
105
|
# 4 dates = only 1 new format across them:
|
|
101
106
|
assert_equal 3, @book.formats.length
|
|
102
107
|
|
|
103
|
-
@sheet.row(rowi+=1).concat([Date.new(2014,1,1)])
|
|
108
|
+
@sheet.row(rowi += 1).concat([Date.new(2014, 1, 1)])
|
|
104
109
|
@sheet.row(rowi).default_format = Format.new
|
|
105
|
-
@sheet.row(rowi
|
|
110
|
+
@sheet.row(rowi + 1).concat([Date.new(2015, 1, 1)])
|
|
106
111
|
@sheet.format_dates!
|
|
107
112
|
# 6 dates = 2 new formats across them:
|
|
108
113
|
assert_equal 6, @book.formats.length
|
|
109
|
-
|
|
110
114
|
end
|
|
111
115
|
|
|
112
116
|
def test_freeze_panel!
|
|
@@ -118,20 +122,19 @@ module Spreadsheet
|
|
|
118
122
|
assert_equal 2, @sheet.froze_top
|
|
119
123
|
assert_equal 3, @sheet.froze_left
|
|
120
124
|
assert_equal true, @sheet.has_frozen_panel?
|
|
121
|
-
|
|
122
125
|
end
|
|
123
126
|
|
|
124
127
|
def test_each_with_skip
|
|
125
|
-
@sheet[0, 0] =
|
|
126
|
-
@sheet[1, 0] =
|
|
128
|
+
@sheet[0, 0] = "foo"
|
|
129
|
+
@sheet[1, 0] = "bar"
|
|
127
130
|
|
|
128
131
|
assert_equal @sheet.each(1).count, 1
|
|
129
|
-
assert_equal @sheet.each(1).first[0],
|
|
132
|
+
assert_equal @sheet.each(1).first[0], "bar"
|
|
130
133
|
end
|
|
131
134
|
|
|
132
135
|
def test_each_with_index
|
|
133
|
-
@sheet[0, 0] =
|
|
134
|
-
@sheet[1, 0] =
|
|
136
|
+
@sheet[0, 0] = "foo"
|
|
137
|
+
@sheet[1, 0] = "bar"
|
|
135
138
|
|
|
136
139
|
@sheet.each.with_index do |row, index|
|
|
137
140
|
assert_equal row[0], @sheet[index, 0]
|
|
@@ -140,8 +143,7 @@ module Spreadsheet
|
|
|
140
143
|
|
|
141
144
|
def test_name
|
|
142
145
|
worksheet = Worksheet.new(name: '\a/b*c?d:e[f]')
|
|
143
|
-
assert_equal
|
|
146
|
+
assert_equal "_a_b_c_d_e_f_", worksheet.name
|
|
144
147
|
end
|
|
145
|
-
|
|
146
148
|
end
|
|
147
149
|
end
|
metadata
CHANGED
|
@@ -1,15 +1,29 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: spreadsheet
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.3.
|
|
4
|
+
version: 1.3.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Hannes F. Wyss, Masaomi Hatakeyama, Zeno R.R. Davatz
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2026-04-21 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: logger
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - ">="
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '0'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - ">="
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '0'
|
|
13
27
|
- !ruby/object:Gem::Dependency
|
|
14
28
|
name: bigdecimal
|
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -80,6 +94,34 @@ dependencies:
|
|
|
80
94
|
- - ">="
|
|
81
95
|
- !ruby/object:Gem::Version
|
|
82
96
|
version: '0'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: debug
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - ">="
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: '0'
|
|
104
|
+
type: :development
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - ">="
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: '0'
|
|
111
|
+
- !ruby/object:Gem::Dependency
|
|
112
|
+
name: standard
|
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
|
114
|
+
requirements:
|
|
115
|
+
- - ">="
|
|
116
|
+
- !ruby/object:Gem::Version
|
|
117
|
+
version: '0'
|
|
118
|
+
type: :development
|
|
119
|
+
prerelease: false
|
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
+
requirements:
|
|
122
|
+
- - ">="
|
|
123
|
+
- !ruby/object:Gem::Version
|
|
124
|
+
version: '0'
|
|
83
125
|
description: As of version 0.6.0, only Microsoft Excel compatible spreadsheets are
|
|
84
126
|
supported
|
|
85
127
|
email: hannes.wyss@gmail.com, mhatakeyama@ywesee.com, zdavatz@ywesee.com
|
|
@@ -92,9 +134,19 @@ files:
|
|
|
92
134
|
- Manifest.txt
|
|
93
135
|
- bin/bundle
|
|
94
136
|
- bin/bundler
|
|
137
|
+
- bin/irb
|
|
95
138
|
- bin/oletool
|
|
139
|
+
- bin/racc
|
|
96
140
|
- bin/rake
|
|
141
|
+
- bin/rdbg
|
|
142
|
+
- bin/rdoc
|
|
143
|
+
- bin/ri
|
|
144
|
+
- bin/rubocop
|
|
145
|
+
- bin/ruby-parse
|
|
146
|
+
- bin/ruby-rewrite
|
|
97
147
|
- bin/sow
|
|
148
|
+
- bin/standardrb
|
|
149
|
+
- bin/test-unit
|
|
98
150
|
- bin/xlsopcodes
|
|
99
151
|
- lib/parseexcel.rb
|
|
100
152
|
- lib/parseexcel/parseexcel.rb
|
|
@@ -155,6 +207,7 @@ files:
|
|
|
155
207
|
- test/data/test_missing_format.xls
|
|
156
208
|
- test/data/test_missing_row.xls
|
|
157
209
|
- test/data/test_pagesetup.xls
|
|
210
|
+
- test/data/test_row_record_empty_range.xls
|
|
158
211
|
- test/data/test_sizes.xls
|
|
159
212
|
- test/data/test_text_drawing.xls
|
|
160
213
|
- test/data/test_version_excel5.xls
|
|
@@ -180,7 +233,7 @@ licenses:
|
|
|
180
233
|
metadata:
|
|
181
234
|
changelog_uri: https://github.com/zdavatz/spreadsheet/blob/master/History.md
|
|
182
235
|
funding_uri: https://github.com/sponsors/zdavatz
|
|
183
|
-
post_install_message:
|
|
236
|
+
post_install_message:
|
|
184
237
|
rdoc_options: []
|
|
185
238
|
require_paths:
|
|
186
239
|
- lib
|
|
@@ -188,7 +241,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
188
241
|
requirements:
|
|
189
242
|
- - ">="
|
|
190
243
|
- !ruby/object:Gem::Version
|
|
191
|
-
version: '
|
|
244
|
+
version: '2.6'
|
|
192
245
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
193
246
|
requirements:
|
|
194
247
|
- - ">="
|
|
@@ -196,7 +249,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
196
249
|
version: '0'
|
|
197
250
|
requirements: []
|
|
198
251
|
rubygems_version: 3.5.3
|
|
199
|
-
signing_key:
|
|
252
|
+
signing_key:
|
|
200
253
|
specification_version: 4
|
|
201
254
|
summary: The Spreadsheet Library is designed to read and write Spreadsheet Documents
|
|
202
255
|
test_files:
|