jruby-poi 0.9.0 → 1.0.0

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.
Files changed (45) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +15 -0
  3. data/.travis.yml +18 -4
  4. data/Gemfile +3 -6
  5. data/Gemfile.lock +20 -27
  6. data/README.markdown +49 -47
  7. data/Rakefile +20 -27
  8. data/jruby-poi.gemspec +7 -70
  9. data/lib/poi-jars/lib/commons-codec-1.10.jar +0 -0
  10. data/lib/poi-jars/lib/commons-collections4-4.1.jar +0 -0
  11. data/lib/poi-jars/lib/commons-logging-1.2.jar +0 -0
  12. data/lib/poi-jars/lib/junit-4.12.jar +0 -0
  13. data/lib/poi-jars/lib/log4j-1.2.17.jar +0 -0
  14. data/lib/poi-jars/ooxml-lib/curvesapi-1.04.jar +0 -0
  15. data/lib/{ooxml-lib/xmlbeans-2.3.0.jar → poi-jars/ooxml-lib/xmlbeans-2.6.0.jar} +0 -0
  16. data/lib/poi-jars/poi-3.15.jar +0 -0
  17. data/lib/poi-jars/poi-examples-3.15.jar +0 -0
  18. data/lib/poi-jars/poi-excelant-3.15.jar +0 -0
  19. data/lib/poi-jars/poi-ooxml-3.15.jar +0 -0
  20. data/lib/poi-jars/poi-ooxml-schemas-3.15.jar +0 -0
  21. data/lib/poi-jars/poi-scratchpad-3.15.jar +0 -0
  22. data/lib/poi.rb +13 -7
  23. data/lib/poi/version.rb +11 -0
  24. data/lib/poi/workbook/area.rb +20 -17
  25. data/lib/poi/workbook/cell.rb +28 -42
  26. data/lib/poi/workbook/row.rb +1 -1
  27. data/lib/poi/workbook/workbook.rb +3 -7
  28. data/lib/poi/workbook/worksheet.rb +2 -2
  29. data/spec/data/1904_window_dates.xls +0 -0
  30. data/spec/data/various_samples.xlsx +0 -0
  31. data/spec/facade_spec.rb +35 -35
  32. data/spec/spec_helper.rb +10 -0
  33. data/spec/support/matchers/cell_matcher.rb +3 -3
  34. data/spec/workbook_spec.rb +368 -385
  35. data/spec/writing_spec.rb +144 -144
  36. metadata +111 -121
  37. data/VERSION +0 -1
  38. data/lib/ooxml-lib/dom4j-1.6.1.jar +0 -0
  39. data/lib/ooxml-lib/stax-api-1.0.1.jar +0 -0
  40. data/lib/poi-3.8-20120326.jar +0 -0
  41. data/lib/poi-examples-3.8-20120326.jar +0 -0
  42. data/lib/poi-excelant-3.8-20120326.jar +0 -0
  43. data/lib/poi-ooxml-3.8-20120326.jar +0 -0
  44. data/lib/poi-ooxml-schemas-3.8-20120326.jar +0 -0
  45. data/lib/poi-scratchpad-3.8-20120326.jar +0 -0
@@ -1,144 +1,144 @@
1
- require 'date'
2
- require 'stringio'
3
-
4
- describe "writing Workbooks" do
5
- it "should create a new empty workbook" do
6
- name = 'new-workbook.xlsx'
7
- book = POI::Workbook.create(name)
8
- book.should_not be_nil
9
- end
10
-
11
- it "should create a new workbook and write something to it" do
12
- name = TestDataFile.expand_path("timesheet-#{Time.now.strftime('%Y%m%d%H%M%S%s')}.xlsx")
13
- create_timesheet_spreadsheet(name)
14
- book = POI::Workbook.open(name)
15
- book.worksheets.size.should == 1
16
- book.worksheets[0].name.should == 'Timesheet'
17
- book.filename.should == name
18
- book['Timesheet!A3'].should == 'Yegor Kozlov'
19
- book.cell('Timesheet!J13').formula_value.should == 'SUM(J3:J12)'
20
- FileUtils.rm_f name
21
- end
22
-
23
- def create_timesheet_spreadsheet name='spec/data/timesheet.xlsx'
24
- titles = ["Person", "ID", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun", "Total\nHrs", "Overtime\nHrs", "Regular\nHrs"]
25
- sample_data = [
26
- ["Yegor Kozlov", "YK", 5.0, 8.0, 10.0, 5.0, 5.0, 7.0, 6.0],
27
- ["Gisella Bronzetti", "GB", 4.0, 3.0, 1.0, 3.5, nil, nil, 4.0]
28
- ]
29
-
30
- book = POI::Workbook.create(name)
31
- title_style = book.create_style :font_height_in_points => 18, :boldweight => :boldweight_bold,
32
- :alignment => :align_center, :vertical_alignment => :vertical_center
33
- header_style = book.create_style :font_height_in_points => 11, :color => :white, :fill_foreground_color => :grey_50_percent,
34
- :fill_pattern => :solid_foreground, :alignment => :align_center, :vertical_alignment => :vertical_center
35
- cell_style = book.create_style :alignment => :align_center, :border_bottom => :border_thin, :border_top => :border_thin,
36
- :border_left => :border_thin, :border_right => :border_thin, :bottom_border_color => :black,
37
- :right_border_color => :black, :left_border_color => :black, :top_border_color => :black
38
- form1_style = book.create_style :data_format => '0.00', :fill_pattern => :solid_foreground, :fill_foreground_color => :grey_25_percent,
39
- :alignment => :align_center, :vertical_alignment => :vertical_center
40
- form2_style = book.create_style :data_format => '0.00', :fill_pattern => :solid_foreground, :fill_foreground_color => :grey_40_percent,
41
- :alignment => :align_center, :vertical_alignment => :vertical_center
42
-
43
- sheet = book.create_sheet 'Timesheet'
44
- print_setup = sheet.print_setup
45
- print_setup.landscape = true
46
- sheet.fit_to_page = true
47
- sheet.horizontally_center = true
48
-
49
- title_row = sheet.rows[0]
50
- title_row.height_in_points = 45
51
- title_cell = title_row.cells[0]
52
- title_cell.value = 'Weekly Timesheet'
53
- title_cell.style = title_style
54
- sheet.add_merged_region org.apache.poi.ss.util.CellRangeAddress.valueOf("$A$1:$L$1")
55
-
56
- header_row = sheet[1]
57
- header_row.height_in_points = 40
58
- titles.each_with_index do | title, index |
59
- header_cell = header_row[index]
60
- header_cell.value = title
61
- header_cell.style = header_style
62
- end
63
-
64
- row_num = 2
65
- 10.times do
66
- row = sheet[row_num]
67
- row_num += 1
68
- titles.each_with_index do | title, index |
69
- cell = row[index]
70
- if index == 9
71
- cell.formula = "SUM(C#{row_num}:I#{row_num})"
72
- cell.style = form1_style
73
- elsif index == 11
74
- cell.formula = "J#{row_num} - K#{row_num}"
75
- cell.style = form1_style
76
- else
77
- cell.style = cell_style
78
- end
79
- end
80
- end
81
-
82
- # row with totals below
83
- sum_row = sheet[row_num]
84
- row_num += 1
85
- sum_row.height_in_points = 35
86
- cell = sum_row[0]
87
- cell.style = form1_style
88
- cell = sum_row[1]
89
- cell.style = form1_style
90
- cell.value = 'Total Hrs:'
91
- (2...12).each do | cell_index |
92
- cell = sum_row[cell_index]
93
- column = (?A.ord + cell_index).chr
94
- cell.formula = "SUM(#{column}3:#{column}12)"
95
- if cell_index > 9
96
- cell.style = form2_style
97
- else
98
- cell.style = form1_style
99
- end
100
- end
101
- row_num += 1
102
- sum_row = sheet[row_num]
103
- row_num += 1
104
- sum_row.height_in_points = 25
105
- cell = sum_row[0]
106
- cell.value = 'Total Regular Hours'
107
- cell.style = form1_style
108
- cell = sum_row[1]
109
- cell.formula = 'L13'
110
- cell.style = form2_style
111
- sum_row = sheet[row_num]
112
- row_num += 1
113
- cell = sum_row[0]
114
- cell.value = 'Total Overtime Hours'
115
- cell.style = form1_style
116
- cell = sum_row[1]
117
- cell.formula = 'K13'
118
- cell.style = form2_style
119
-
120
- # set sample data
121
- sample_data.each_with_index do |each, row_index|
122
- row = sheet[2 + row_index]
123
- each.each_with_index do | data, cell_index |
124
- data = sample_data[row_index][cell_index]
125
- next unless data
126
- if data.kind_of? String
127
- row[cell_index].value = data #.to_java(:string)
128
- else
129
- row[cell_index].value = data #.to_java(:double)
130
- end
131
- end
132
- end
133
-
134
- # finally set column widths, the width is measured in units of 1/256th of a character width
135
- sheet.set_column_width 0, 30*256 # 30 characters wide
136
- (2..9).to_a.each do | column |
137
- sheet.set_column_width column, 6*256 # 6 characters wide
138
- end
139
- sheet.set_column_width 10, 10*256 # 10 characters wide
140
-
141
- book.save
142
- File.exist?(name).should == true
143
- end
144
- end
1
+ require 'date'
2
+ require 'stringio'
3
+
4
+ describe "writing Workbooks" do
5
+ it "should create a new empty workbook" do
6
+ name = 'new-workbook.xlsx'
7
+ book = POI::Workbook.create(name)
8
+ book.should_not be_nil
9
+ end
10
+
11
+ it "should create a new workbook and write something to it" do
12
+ name = TestDataFile.expand_path("timesheet-#{Time.now.strftime('%Y%m%d%H%M%S%s')}.xlsx")
13
+ create_timesheet_spreadsheet(name)
14
+ book = POI::Workbook.open(name)
15
+ book.worksheets.size.should == 1
16
+ book.worksheets[0].name.should == 'Timesheet'
17
+ book.filename.should == name
18
+ book['Timesheet!A3'].should == 'Yegor Kozlov'
19
+ book.cell('Timesheet!J13').formula_value.should == 'SUM(J3:J12)'
20
+ FileUtils.rm_f name
21
+ end
22
+
23
+ def create_timesheet_spreadsheet name='spec/data/timesheet.xlsx'
24
+ titles = ["Person", "ID", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun", "Total\nHrs", "Overtime\nHrs", "Regular\nHrs"]
25
+ sample_data = [
26
+ ["Yegor Kozlov", "YK", 5.0, 8.0, 10.0, 5.0, 5.0, 7.0, 6.0],
27
+ ["Gisella Bronzetti", "GB", 4.0, 3.0, 1.0, 3.5, nil, nil, 4.0]
28
+ ]
29
+
30
+ book = POI::Workbook.create(name)
31
+ title_style = book.create_style :font_height_in_points => 18, :boldweight => :boldweight_bold,
32
+ :alignment => :align_center, :vertical_alignment => :vertical_center
33
+ header_style = book.create_style :font_height_in_points => 11, :color => :white, :fill_foreground_color => :grey_50_percent,
34
+ :fill_pattern => :solid_foreground, :alignment => :align_center, :vertical_alignment => :vertical_center
35
+ cell_style = book.create_style :alignment => :align_center, :border_bottom => :border_thin, :border_top => :border_thin,
36
+ :border_left => :border_thin, :border_right => :border_thin, :bottom_border_color => :black,
37
+ :right_border_color => :black, :left_border_color => :black, :top_border_color => :black
38
+ form1_style = book.create_style :data_format => '0.00', :fill_pattern => :solid_foreground, :fill_foreground_color => :grey_25_percent,
39
+ :alignment => :align_center, :vertical_alignment => :vertical_center
40
+ form2_style = book.create_style :data_format => '0.00', :fill_pattern => :solid_foreground, :fill_foreground_color => :grey_40_percent,
41
+ :alignment => :align_center, :vertical_alignment => :vertical_center
42
+
43
+ sheet = book.create_sheet 'Timesheet'
44
+ print_setup = sheet.print_setup
45
+ print_setup.landscape = true
46
+ sheet.fit_to_page = true
47
+ sheet.horizontally_center = true
48
+
49
+ title_row = sheet.rows[0]
50
+ title_row.height_in_points = 45
51
+ title_cell = title_row.cells[0]
52
+ title_cell.value = 'Weekly Timesheet'
53
+ title_cell.style = title_style
54
+ sheet.add_merged_region org.apache.poi.ss.util.CellRangeAddress.valueOf("$A$1:$L$1")
55
+
56
+ header_row = sheet[1]
57
+ header_row.height_in_points = 40
58
+ titles.each_with_index do | title, index |
59
+ header_cell = header_row[index]
60
+ header_cell.value = title
61
+ header_cell.style = header_style
62
+ end
63
+
64
+ row_num = 2
65
+ 10.times do
66
+ row = sheet[row_num]
67
+ row_num += 1
68
+ titles.each_with_index do | title, index |
69
+ cell = row[index]
70
+ if index == 9
71
+ cell.formula = "SUM(C#{row_num}:I#{row_num})"
72
+ cell.style = form1_style
73
+ elsif index == 11
74
+ cell.formula = "J#{row_num} - K#{row_num}"
75
+ cell.style = form1_style
76
+ else
77
+ cell.style = cell_style
78
+ end
79
+ end
80
+ end
81
+
82
+ # row with totals below
83
+ sum_row = sheet[row_num]
84
+ row_num += 1
85
+ sum_row.height_in_points = 35
86
+ cell = sum_row[0]
87
+ cell.style = form1_style
88
+ cell = sum_row[1]
89
+ cell.style = form1_style
90
+ cell.value = 'Total Hrs:'
91
+ (2...12).each do | cell_index |
92
+ cell = sum_row[cell_index]
93
+ column = (?A.ord + cell_index).chr
94
+ cell.formula = "SUM(#{column}3:#{column}12)"
95
+ if cell_index > 9
96
+ cell.style = form2_style
97
+ else
98
+ cell.style = form1_style
99
+ end
100
+ end
101
+ row_num += 1
102
+ sum_row = sheet[row_num]
103
+ row_num += 1
104
+ sum_row.height_in_points = 25
105
+ cell = sum_row[0]
106
+ cell.value = 'Total Regular Hours'
107
+ cell.style = form1_style
108
+ cell = sum_row[1]
109
+ cell.formula = 'L13'
110
+ cell.style = form2_style
111
+ sum_row = sheet[row_num]
112
+ row_num += 1
113
+ cell = sum_row[0]
114
+ cell.value = 'Total Overtime Hours'
115
+ cell.style = form1_style
116
+ cell = sum_row[1]
117
+ cell.formula = 'K13'
118
+ cell.style = form2_style
119
+
120
+ # set sample data
121
+ sample_data.each_with_index do |each, row_index|
122
+ row = sheet[2 + row_index]
123
+ each.each_with_index do | data, cell_index |
124
+ data = sample_data[row_index][cell_index]
125
+ next unless data
126
+ if data.kind_of? String
127
+ row[cell_index].value = data #.to_java(:string)
128
+ else
129
+ row[cell_index].value = data #.to_java(:double)
130
+ end
131
+ end
132
+ end
133
+
134
+ # finally set column widths, the width is measured in units of 1/256th of a character width
135
+ sheet.set_column_width 0, 30*256 # 30 characters wide
136
+ (2..9).to_a.each do | column |
137
+ sheet.set_column_width column, 6*256 # 6 characters wide
138
+ end
139
+ sheet.set_column_width 10, 10*256 # 10 characters wide
140
+
141
+ book.save
142
+ File.exist?(name).should == true
143
+ end
144
+ end
metadata CHANGED
@@ -1,132 +1,122 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: jruby-poi
3
- version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 0.9.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
6
5
  platform: ruby
7
- authors:
8
- - Scott Deming
9
- - Jason Rogers
10
- autorequire:
6
+ authors:
7
+ - Scott Deming
8
+ - Jason Rogers
9
+ autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
-
14
- date: 2012-10-15 00:00:00 Z
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
17
- name: rspec
18
- version_requirements: &id001 !ruby/object:Gem::Requirement
19
- none: false
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: 2.11.0
24
- requirement: *id001
25
- prerelease: false
26
- type: :development
27
- - !ruby/object:Gem::Dependency
28
- name: jeweler
29
- version_requirements: &id002 !ruby/object:Gem::Requirement
30
- none: false
31
- requirements:
32
- - - ">="
33
- - !ruby/object:Gem::Version
34
- version: 1.8.4
35
- requirement: *id002
36
- prerelease: false
37
- type: :development
38
- - !ruby/object:Gem::Dependency
39
- name: jruby-openssl
40
- version_requirements: &id003 !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- version: "0"
46
- requirement: *id003
47
- prerelease: false
48
- type: :development
12
+ date: 2016-11-04 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3.0'
20
+ name: rspec
21
+ prerelease: false
22
+ type: :development
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '3.0'
49
28
  description: A rubyesque library for manipulating spreadsheets and other document types for jruby, using Apache POI.
50
- email:
51
- - sdeming@makefile.com
52
- - jacaetevha@gmail.com
29
+ email:
30
+ - sdeming@makefile.com
31
+ - jacaetevha@gmail.com
53
32
  executables: []
54
-
55
33
  extensions: []
56
-
57
- extra_rdoc_files:
58
- - LICENSE
59
- - README.markdown
60
- files:
61
- - .travis.yml
62
- - Gemfile
63
- - Gemfile.lock
64
- - LICENSE
65
- - NOTICE
66
- - README.markdown
67
- - Rakefile
68
- - VERSION
69
- - jruby-poi.gemspec
70
- - lib/ooxml-lib/dom4j-1.6.1.jar
71
- - lib/ooxml-lib/stax-api-1.0.1.jar
72
- - lib/ooxml-lib/xmlbeans-2.3.0.jar
73
- - lib/poi-3.8-20120326.jar
74
- - lib/poi-examples-3.8-20120326.jar
75
- - lib/poi-excelant-3.8-20120326.jar
76
- - lib/poi-ooxml-3.8-20120326.jar
77
- - lib/poi-ooxml-schemas-3.8-20120326.jar
78
- - lib/poi-scratchpad-3.8-20120326.jar
79
- - lib/poi.rb
80
- - lib/poi/workbook.rb
81
- - lib/poi/workbook/area.rb
82
- - lib/poi/workbook/cell.rb
83
- - lib/poi/workbook/named_range.rb
84
- - lib/poi/workbook/row.rb
85
- - lib/poi/workbook/workbook.rb
86
- - lib/poi/workbook/worksheet.rb
87
- - spec/data/simple_with_picture.ods
88
- - spec/data/simple_with_picture.xls
89
- - spec/data/spreadsheet.ods
90
- - spec/data/timesheet.xlsx
91
- - spec/data/various_samples.xlsx
92
- - spec/facade_spec.rb
93
- - spec/io_spec.rb
94
- - spec/spec_helper.rb
95
- - spec/support/java/jrubypoi/MockOutputStream.java
96
- - spec/support/java/support.jar
97
- - spec/support/matchers/cell_matcher.rb
98
- - spec/workbook_spec.rb
99
- - spec/writing_spec.rb
100
- - spec_debug.sh
34
+ extra_rdoc_files:
35
+ - LICENSE
36
+ - README.markdown
37
+ files:
38
+ - ".gitignore"
39
+ - ".travis.yml"
40
+ - Gemfile
41
+ - Gemfile.lock
42
+ - LICENSE
43
+ - NOTICE
44
+ - README.markdown
45
+ - Rakefile
46
+ - jruby-poi.gemspec
47
+ - lib/poi-jars/lib/commons-codec-1.10.jar
48
+ - lib/poi-jars/lib/commons-collections4-4.1.jar
49
+ - lib/poi-jars/lib/commons-logging-1.2.jar
50
+ - lib/poi-jars/lib/junit-4.12.jar
51
+ - lib/poi-jars/lib/log4j-1.2.17.jar
52
+ - lib/poi-jars/ooxml-lib/curvesapi-1.04.jar
53
+ - lib/poi-jars/ooxml-lib/xmlbeans-2.6.0.jar
54
+ - lib/poi-jars/poi-3.15.jar
55
+ - lib/poi-jars/poi-examples-3.15.jar
56
+ - lib/poi-jars/poi-excelant-3.15.jar
57
+ - lib/poi-jars/poi-ooxml-3.15.jar
58
+ - lib/poi-jars/poi-ooxml-schemas-3.15.jar
59
+ - lib/poi-jars/poi-scratchpad-3.15.jar
60
+ - lib/poi.rb
61
+ - lib/poi/version.rb
62
+ - lib/poi/workbook.rb
63
+ - lib/poi/workbook/area.rb
64
+ - lib/poi/workbook/cell.rb
65
+ - lib/poi/workbook/named_range.rb
66
+ - lib/poi/workbook/row.rb
67
+ - lib/poi/workbook/workbook.rb
68
+ - lib/poi/workbook/worksheet.rb
69
+ - spec/data/1904_window_dates.xls
70
+ - spec/data/simple_with_picture.ods
71
+ - spec/data/simple_with_picture.xls
72
+ - spec/data/spreadsheet.ods
73
+ - spec/data/timesheet.xlsx
74
+ - spec/data/various_samples.xlsx
75
+ - spec/facade_spec.rb
76
+ - spec/io_spec.rb
77
+ - spec/spec_helper.rb
78
+ - spec/support/java/jrubypoi/MockOutputStream.java
79
+ - spec/support/java/support.jar
80
+ - spec/support/matchers/cell_matcher.rb
81
+ - spec/workbook_spec.rb
82
+ - spec/writing_spec.rb
83
+ - spec_debug.sh
101
84
  homepage: http://github.com/kameeoze/jruby-poi
102
- licenses:
103
- - Apache
104
- post_install_message:
85
+ licenses:
86
+ - Apache
87
+ metadata: {}
88
+ post_install_message:
105
89
  rdoc_options: []
106
-
107
- require_paths:
108
- - lib
109
- required_ruby_version: !ruby/object:Gem::Requirement
110
- none: false
111
- requirements:
112
- - - ">="
113
- - !ruby/object:Gem::Version
114
- hash: 2
115
- segments:
116
- - 0
117
- version: "0"
118
- required_rubygems_version: !ruby/object:Gem::Requirement
119
- none: false
120
- requirements:
121
- - - ">="
122
- - !ruby/object:Gem::Version
123
- version: "0"
90
+ require_paths:
91
+ - lib
92
+ required_ruby_version: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ required_rubygems_version: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
124
102
  requirements: []
125
-
126
- rubyforge_project:
127
- rubygems_version: 1.8.24
128
- signing_key:
129
- specification_version: 3
103
+ rubyforge_project:
104
+ rubygems_version: 2.4.8
105
+ signing_key:
106
+ specification_version: 4
130
107
  summary: Apache POI class library for jruby
131
- test_files: []
132
-
108
+ test_files:
109
+ - spec/data/1904_window_dates.xls
110
+ - spec/data/simple_with_picture.ods
111
+ - spec/data/simple_with_picture.xls
112
+ - spec/data/spreadsheet.ods
113
+ - spec/data/timesheet.xlsx
114
+ - spec/data/various_samples.xlsx
115
+ - spec/facade_spec.rb
116
+ - spec/io_spec.rb
117
+ - spec/spec_helper.rb
118
+ - spec/support/java/jrubypoi/MockOutputStream.java
119
+ - spec/support/java/support.jar
120
+ - spec/support/matchers/cell_matcher.rb
121
+ - spec/workbook_spec.rb
122
+ - spec/writing_spec.rb