caxlsx 2.0.2 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +41 -33
- data/Rakefile +9 -11
- data/examples/auto_filter.rb +10 -1
- data/examples/conditional_formatting/example_conditional_formatting.rb +18 -3
- data/examples/data_validation.rb +57 -40
- data/examples/example.rb +115 -7
- data/examples/merge_cells.rb +17 -0
- data/examples/no_grid_with_borders.rb +18 -0
- data/examples/pivot_test.rb +63 -0
- data/examples/split.rb +16 -0
- data/lib/axlsx.rb +34 -15
- data/lib/axlsx/content_type/abstract_content_type.rb +1 -1
- data/lib/axlsx/content_type/content_type.rb +1 -1
- data/lib/axlsx/doc_props/app.rb +1 -1
- data/lib/axlsx/doc_props/core.rb +5 -5
- data/lib/axlsx/drawing/area_chart.rb +99 -0
- data/lib/axlsx/drawing/area_series.rb +110 -0
- data/lib/axlsx/drawing/axes.rb +1 -1
- data/lib/axlsx/drawing/axis.rb +12 -9
- data/lib/axlsx/drawing/bar_3D_chart.rb +13 -13
- data/lib/axlsx/drawing/bar_chart.rb +143 -0
- data/lib/axlsx/drawing/bar_series.rb +9 -9
- data/lib/axlsx/drawing/bubble_chart.rb +59 -0
- data/lib/axlsx/drawing/bubble_series.rb +63 -0
- data/lib/axlsx/drawing/cat_axis.rb +5 -5
- data/lib/axlsx/drawing/chart.rb +52 -8
- data/lib/axlsx/drawing/d_lbls.rb +3 -3
- data/lib/axlsx/drawing/drawing.rb +6 -1
- data/lib/axlsx/drawing/graphic_frame.rb +3 -3
- data/lib/axlsx/drawing/hyperlink.rb +1 -3
- data/lib/axlsx/drawing/line_3D_chart.rb +2 -2
- data/lib/axlsx/drawing/line_chart.rb +10 -10
- data/lib/axlsx/drawing/line_series.rb +32 -3
- data/lib/axlsx/drawing/marker.rb +1 -1
- data/lib/axlsx/drawing/num_data.rb +4 -4
- data/lib/axlsx/drawing/num_data_source.rb +6 -6
- data/lib/axlsx/drawing/num_val.rb +3 -1
- data/lib/axlsx/drawing/one_cell_anchor.rb +3 -2
- data/lib/axlsx/drawing/pic.rb +25 -19
- data/lib/axlsx/drawing/picture_locking.rb +1 -3
- data/lib/axlsx/drawing/pie_3D_chart.rb +5 -6
- data/lib/axlsx/drawing/pie_series.rb +6 -6
- data/lib/axlsx/drawing/scaling.rb +6 -6
- data/lib/axlsx/drawing/scatter_chart.rb +10 -10
- data/lib/axlsx/drawing/scatter_series.rb +40 -7
- data/lib/axlsx/drawing/ser_axis.rb +2 -2
- data/lib/axlsx/drawing/series.rb +3 -3
- data/lib/axlsx/drawing/series_title.rb +2 -2
- data/lib/axlsx/drawing/str_data.rb +3 -3
- data/lib/axlsx/drawing/str_val.rb +3 -1
- data/lib/axlsx/drawing/title.rb +22 -4
- data/lib/axlsx/drawing/two_cell_anchor.rb +6 -1
- data/lib/axlsx/drawing/val_axis.rb +1 -1
- data/lib/axlsx/drawing/view_3D.rb +2 -2
- data/lib/axlsx/drawing/vml_drawing.rb +1 -1
- data/lib/axlsx/package.rb +33 -31
- data/lib/axlsx/rels/relationship.rb +1 -1
- data/lib/axlsx/rels/relationships.rb +7 -4
- data/lib/axlsx/stylesheet/border_pr.rb +2 -2
- data/lib/axlsx/stylesheet/cell_alignment.rb +1 -3
- data/lib/axlsx/stylesheet/cell_protection.rb +1 -3
- data/lib/axlsx/stylesheet/cell_style.rb +1 -3
- data/lib/axlsx/stylesheet/color.rb +1 -3
- data/lib/axlsx/stylesheet/font.rb +1 -1
- data/lib/axlsx/stylesheet/gradient_stop.rb +1 -1
- data/lib/axlsx/stylesheet/num_fmt.rb +10 -3
- data/lib/axlsx/stylesheet/pattern_fill.rb +1 -1
- data/lib/axlsx/stylesheet/styles.rb +7 -7
- data/lib/axlsx/stylesheet/table_style_element.rb +1 -3
- data/lib/axlsx/util/accessors.rb +6 -6
- data/lib/axlsx/util/constants.rb +107 -99
- data/lib/axlsx/util/mime_type_utils.rb +11 -0
- data/lib/axlsx/util/options_parser.rb +2 -1
- data/lib/axlsx/util/parser.rb +4 -4
- data/lib/axlsx/util/serialized_attributes.rb +16 -6
- data/lib/axlsx/util/simple_typed_list.rb +28 -52
- data/lib/axlsx/util/storage.rb +4 -4
- data/lib/axlsx/util/validators.rb +29 -17
- data/lib/axlsx/version.rb +1 -1
- data/lib/axlsx/workbook/defined_name.rb +11 -12
- data/lib/axlsx/workbook/defined_names.rb +2 -2
- data/lib/axlsx/workbook/shared_strings_table.rb +5 -5
- data/lib/axlsx/workbook/workbook.rb +36 -11
- data/lib/axlsx/workbook/workbook_view.rb +80 -0
- data/lib/axlsx/workbook/workbook_views.rb +22 -0
- data/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb +2 -2
- data/lib/axlsx/workbook/worksheet/auto_filter/filters.rb +1 -3
- data/lib/axlsx/workbook/worksheet/break.rb +1 -3
- data/lib/axlsx/workbook/worksheet/cell.rb +136 -74
- data/lib/axlsx/workbook/worksheet/cell_serializer.rb +63 -43
- data/lib/axlsx/workbook/worksheet/cfvo.rb +1 -3
- data/lib/axlsx/workbook/worksheet/cfvos.rb +4 -1
- data/lib/axlsx/workbook/worksheet/col.rb +7 -10
- data/lib/axlsx/workbook/worksheet/col_breaks.rb +2 -2
- data/lib/axlsx/workbook/worksheet/cols.rb +5 -2
- data/lib/axlsx/workbook/worksheet/comment.rb +5 -6
- data/lib/axlsx/workbook/worksheet/comments.rb +9 -12
- data/lib/axlsx/workbook/worksheet/conditional_formatting.rb +1 -1
- data/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb +1 -1
- data/lib/axlsx/workbook/worksheet/data_bar.rb +4 -6
- data/lib/axlsx/workbook/worksheet/data_validation.rb +6 -4
- data/lib/axlsx/workbook/worksheet/dimension.rb +2 -2
- data/lib/axlsx/workbook/worksheet/header_footer.rb +6 -8
- data/lib/axlsx/workbook/worksheet/icon_set.rb +3 -5
- data/lib/axlsx/workbook/worksheet/merged_cells.rb +4 -2
- data/lib/axlsx/workbook/worksheet/outline_pr.rb +33 -0
- data/lib/axlsx/workbook/worksheet/page_margins.rb +1 -3
- data/lib/axlsx/workbook/worksheet/page_set_up_pr.rb +1 -1
- data/lib/axlsx/workbook/worksheet/page_setup.rb +21 -23
- data/lib/axlsx/workbook/worksheet/pane.rb +1 -3
- data/lib/axlsx/workbook/worksheet/pivot_table.rb +44 -28
- data/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb +4 -4
- data/lib/axlsx/workbook/worksheet/print_options.rb +1 -3
- data/lib/axlsx/workbook/worksheet/protected_range.rb +1 -3
- data/lib/axlsx/workbook/worksheet/protected_ranges.rb +5 -2
- data/lib/axlsx/workbook/worksheet/rich_text.rb +55 -0
- data/lib/axlsx/workbook/worksheet/rich_text_run.rb +250 -0
- data/lib/axlsx/workbook/worksheet/row.rb +40 -51
- data/lib/axlsx/workbook/worksheet/row_breaks.rb +2 -2
- data/lib/axlsx/workbook/worksheet/selection.rb +1 -3
- data/lib/axlsx/workbook/worksheet/sheet_data.rb +3 -1
- data/lib/axlsx/workbook/worksheet/sheet_pr.rb +21 -3
- data/lib/axlsx/workbook/worksheet/sheet_protection.rb +1 -3
- data/lib/axlsx/workbook/worksheet/table.rb +6 -6
- data/lib/axlsx/workbook/worksheet/table_style_info.rb +1 -3
- data/lib/axlsx/workbook/worksheet/tables.rb +4 -1
- data/lib/axlsx/workbook/worksheet/worksheet.rb +64 -78
- data/lib/axlsx/workbook/worksheet/worksheet_drawing.rb +10 -10
- data/lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb +3 -3
- data/test/drawing/tc_area_chart.rb +39 -0
- data/test/drawing/tc_area_series.rb +71 -0
- data/test/drawing/tc_axis.rb +27 -0
- data/test/drawing/tc_bar_chart.rb +71 -0
- data/test/drawing/tc_bubble_chart.rb +44 -0
- data/test/drawing/tc_bubble_series.rb +21 -0
- data/test/drawing/tc_chart.rb +23 -10
- data/test/drawing/tc_data_source.rb +6 -0
- data/test/drawing/tc_drawing.rb +2 -2
- data/test/drawing/tc_line_chart.rb +5 -5
- data/test/drawing/tc_line_series.rb +47 -6
- data/test/drawing/tc_pic.rb +11 -15
- data/test/drawing/tc_scatter_series.rb +36 -1
- data/test/drawing/tc_str_val.rb +9 -0
- data/test/drawing/tc_title.rb +5 -0
- data/test/stylesheet/tc_styles.rb +2 -2
- data/test/tc_axlsx.rb +31 -0
- data/test/tc_helper.rb +2 -0
- data/test/tc_package.rb +19 -1
- data/test/util/tc_mime_type_utils.rb +13 -0
- data/test/util/tc_simple_typed_list.rb +2 -3
- data/test/util/tc_validators.rb +34 -10
- data/test/workbook/tc_defined_name.rb +12 -4
- data/test/workbook/tc_shared_strings_table.rb +16 -1
- data/test/workbook/tc_workbook.rb +38 -3
- data/test/workbook/tc_workbook_view.rb +50 -0
- data/test/workbook/worksheet/auto_filter/tc_filters.rb +1 -1
- data/test/workbook/worksheet/tc_break.rb +1 -1
- data/test/workbook/worksheet/tc_cell.rb +76 -8
- data/test/workbook/worksheet/tc_col.rb +2 -2
- data/test/workbook/worksheet/tc_conditional_formatting.rb +2 -2
- data/test/workbook/worksheet/tc_data_bar.rb +1 -1
- data/test/workbook/worksheet/tc_data_validation.rb +11 -11
- data/test/workbook/worksheet/tc_header_footer.rb +2 -2
- data/test/workbook/worksheet/tc_icon_set.rb +1 -1
- data/test/workbook/worksheet/tc_outline_pr.rb +19 -0
- data/test/workbook/worksheet/tc_page_setup.rb +3 -3
- data/test/workbook/worksheet/tc_pivot_table.rb +21 -6
- data/test/workbook/worksheet/tc_print_options.rb +1 -1
- data/test/workbook/worksheet/tc_rich_text.rb +44 -0
- data/test/workbook/worksheet/tc_rich_text_run.rb +172 -0
- data/test/workbook/worksheet/tc_row.rb +7 -2
- data/test/workbook/worksheet/tc_sheet_calc_pr.rb +1 -1
- data/test/workbook/worksheet/tc_sheet_format_pr.rb +4 -4
- data/test/workbook/worksheet/tc_sheet_pr.rb +26 -4
- data/test/workbook/worksheet/tc_sheet_protection.rb +5 -5
- data/test/workbook/worksheet/tc_sheet_view.rb +4 -4
- data/test/workbook/worksheet/tc_table.rb +2 -3
- data/test/workbook/worksheet/tc_worksheet.rb +99 -45
- metadata +89 -16
@@ -197,11 +197,11 @@ class TestSheetView < Test::Unit::TestCase
|
|
197
197
|
|
198
198
|
doc = Nokogiri::XML.parse(@ws.sheet_view.to_xml_string)
|
199
199
|
|
200
|
-
assert_equal(1, doc.xpath("//sheetView[@tabSelected=
|
200
|
+
assert_equal(1, doc.xpath("//sheetView[@tabSelected=0]").size)
|
201
201
|
|
202
|
-
assert_equal(1, doc.xpath("//sheetView[@tabSelected=
|
203
|
-
[@rightToLeft=
|
204
|
-
[@showRowColHeaders=
|
202
|
+
assert_equal(1, doc.xpath("//sheetView[@tabSelected=0][@showWhiteSpace=0][@showOutlineSymbols=0][@showFormulas=0]
|
203
|
+
[@rightToLeft=0][@windowProtection=0][@showZeros=1][@showRuler=1]
|
204
|
+
[@showRowColHeaders=1][@showGridLines=1][@defaultGridColor=1]
|
205
205
|
[@zoomScale='100'][@workbookViewId='0'][@zoomScaleSheetLayoutView='0'][@zoomScalePageLayoutView='0']
|
206
206
|
[@zoomScaleNormal='0'][@view='pageBreakPreview']").size)
|
207
207
|
end
|
@@ -47,9 +47,9 @@ class TestTable < Test::Unit::TestCase
|
|
47
47
|
|
48
48
|
def test_relationships
|
49
49
|
assert(@ws.relationships.empty?)
|
50
|
-
|
50
|
+
@ws.add_table("A1:D5")
|
51
51
|
assert_equal(@ws.relationships.size, 1, "adding a table adds a relationship")
|
52
|
-
|
52
|
+
@ws.add_table("F1:J5")
|
53
53
|
assert_equal(@ws.relationships.size, 2, "adding a table adds a relationship")
|
54
54
|
end
|
55
55
|
|
@@ -64,5 +64,4 @@ class TestTable < Test::Unit::TestCase
|
|
64
64
|
end
|
65
65
|
assert(errors.empty?, "error free validation")
|
66
66
|
end
|
67
|
-
|
68
67
|
end
|
@@ -73,6 +73,15 @@ class TestWorksheet < Test::Unit::TestCase
|
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
76
|
+
def test_state
|
77
|
+
assert_equal(:visible, @ws.state)
|
78
|
+
end
|
79
|
+
|
80
|
+
def test_state_validation
|
81
|
+
assert_raise(ArgumentError) { @ws.state = :dead }
|
82
|
+
assert_nothing_raised { @ws.state = :very_hidden }
|
83
|
+
end
|
84
|
+
|
76
85
|
def test_no_autowidth
|
77
86
|
@ws.workbook.use_autowidth = false
|
78
87
|
@ws.add_row [1,2,3,4]
|
@@ -84,7 +93,7 @@ class TestWorksheet < Test::Unit::TestCase
|
|
84
93
|
page_setup = {:fit_to_height => 1, :fit_to_width => 1, :orientation => :landscape, :paper_width => "210mm", :paper_height => "297mm", :scale => 80}
|
85
94
|
print_options = {:grid_lines => true, :headings => true, :horizontal_centered => true, :vertical_centered => true}
|
86
95
|
header_footer = {:different_first => false, :different_odd_even => false, :odd_header => 'Header'}
|
87
|
-
optioned = @ws.workbook.add_worksheet(:name => 'bob', :page_margins => page_margins, :page_setup => page_setup, :print_options => print_options, :header_footer => header_footer
|
96
|
+
optioned = @ws.workbook.add_worksheet(:name => 'bob', :page_margins => page_margins, :page_setup => page_setup, :print_options => print_options, :header_footer => header_footer)
|
88
97
|
page_margins.keys.each do |key|
|
89
98
|
assert_equal(page_margins[key], optioned.page_margins.send(key))
|
90
99
|
end
|
@@ -98,23 +107,21 @@ class TestWorksheet < Test::Unit::TestCase
|
|
98
107
|
assert_equal(header_footer[key], optioned.header_footer.send(key))
|
99
108
|
end
|
100
109
|
assert_equal(optioned.name, 'bob')
|
101
|
-
assert_equal(optioned.selected, true)
|
102
|
-
assert_equal(optioned.show_gridlines, false)
|
103
110
|
|
104
111
|
end
|
105
112
|
|
106
113
|
|
107
|
-
def test_use_gridlines
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
end
|
114
|
+
# def test_use_gridlines
|
115
|
+
# assert_raise(ArgumentError) { @ws.show_gridlines = -1.1 }
|
116
|
+
# assert_nothing_raised { @ws.show_gridlines = false }
|
117
|
+
# assert_equal(@ws.show_gridlines, false)
|
118
|
+
# end
|
112
119
|
|
113
|
-
def test_selected
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
end
|
120
|
+
# def test_selected
|
121
|
+
# assert_raise(ArgumentError) { @ws.selected = -1.1 }
|
122
|
+
# assert_nothing_raised { @ws.selected = true }
|
123
|
+
# assert_equal(@ws.selected, true)
|
124
|
+
# end
|
118
125
|
|
119
126
|
def test_rels_pn
|
120
127
|
assert_equal(@ws.rels_pn, "worksheets/_rels/sheet1.xml.rels")
|
@@ -257,11 +264,11 @@ class TestWorksheet < Test::Unit::TestCase
|
|
257
264
|
end
|
258
265
|
end
|
259
266
|
|
260
|
-
def test_to_xml_string_fit_to_page
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
end
|
267
|
+
# def test_to_xml_string_fit_to_page
|
268
|
+
# @ws.page_setup.fit_to_width = 1
|
269
|
+
# doc = Nokogiri::XML(@ws.to_xml_string)
|
270
|
+
# assert_equal(doc.xpath('//xmlns:worksheet/xmlns:sheetPr/xmlns:pageSetUpPr[@fitToPage=1]').size, 1)
|
271
|
+
# end
|
265
272
|
|
266
273
|
def test_to_xml_string_dimensions
|
267
274
|
@ws.add_row [1,2,3]
|
@@ -269,22 +276,22 @@ class TestWorksheet < Test::Unit::TestCase
|
|
269
276
|
assert_equal(doc.xpath('//xmlns:worksheet/xmlns:dimension[@ref="A1:C1"]').size, 1)
|
270
277
|
end
|
271
278
|
|
272
|
-
def test_fit_to_page_assignation_does_nothing
|
273
|
-
|
274
|
-
|
275
|
-
end
|
279
|
+
# def test_fit_to_page_assignation_does_nothing
|
280
|
+
# @ws.fit_to_page = true
|
281
|
+
# assert_equal(@ws.fit_to_page?, false)
|
282
|
+
# end
|
276
283
|
|
277
|
-
def test_to_xml_string_selected
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
end
|
284
|
+
# def test_to_xml_string_selected
|
285
|
+
# @ws.selected = true
|
286
|
+
# doc = Nokogiri::XML(@ws.to_xml_string)
|
287
|
+
# assert_equal(doc.xpath('//xmlns:worksheet/xmlns:sheetViews/xmlns:sheetView[@tabSelected=1]').size, 1)
|
288
|
+
# end
|
282
289
|
|
283
|
-
def test_to_xml_string_show_gridlines
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
end
|
290
|
+
# def test_to_xml_string_show_gridlines
|
291
|
+
# @ws.show_gridlines = false
|
292
|
+
# doc = Nokogiri::XML(@ws.to_xml_string)
|
293
|
+
# assert_equal(doc.xpath('//xmlns:worksheet/xmlns:sheetViews/xmlns:sheetView[@showGridLines=0]').size, 1)
|
294
|
+
# end
|
288
295
|
|
289
296
|
def test_to_xml_string_auto_fit_data
|
290
297
|
@ws.add_row [1, "two"]
|
@@ -314,6 +321,13 @@ class TestWorksheet < Test::Unit::TestCase
|
|
314
321
|
assert_equal(doc.xpath('//xmlns:worksheet/xmlns:mergeCells/xmlns:mergeCell[@ref="E1:F1"]').size, 1)
|
315
322
|
end
|
316
323
|
|
324
|
+
def test_to_xml_string_merge_cells_row
|
325
|
+
row = @ws.add_row [1, "two"]
|
326
|
+
@ws.merge_cells row
|
327
|
+
doc = Nokogiri::XML(@ws.to_xml_string)
|
328
|
+
assert_equal(doc.xpath('//xmlns:worksheet/xmlns:mergeCells/xmlns:mergeCell[@ref="A1:B1"]').size, 1)
|
329
|
+
end
|
330
|
+
|
317
331
|
def test_to_xml_string_row_breaks
|
318
332
|
@ws.add_page_break("A1")
|
319
333
|
doc = Nokogiri::XML(@ws.to_xml_string)
|
@@ -350,7 +364,7 @@ class TestWorksheet < Test::Unit::TestCase
|
|
350
364
|
po.horizontal_centered = true
|
351
365
|
end
|
352
366
|
doc = Nokogiri::XML(@ws.to_xml_string)
|
353
|
-
assert_equal(doc.xpath('//xmlns:worksheet/xmlns:printOptions[@gridLines=
|
367
|
+
assert_equal(doc.xpath('//xmlns:worksheet/xmlns:printOptions[@gridLines=1][@horizontalCentered=1]').size, 1)
|
354
368
|
end
|
355
369
|
|
356
370
|
def test_to_xml_string_header_footer
|
@@ -360,7 +374,7 @@ class TestWorksheet < Test::Unit::TestCase
|
|
360
374
|
hf.odd_header = 'Test Header'
|
361
375
|
end
|
362
376
|
doc = Nokogiri::XML(@ws.to_xml_string)
|
363
|
-
assert_equal(doc.xpath('//xmlns:worksheet/xmlns:headerFooter[@differentFirst=
|
377
|
+
assert_equal(doc.xpath('//xmlns:worksheet/xmlns:headerFooter[@differentFirst=0][@differentOddEven=0]').size, 1)
|
364
378
|
end
|
365
379
|
|
366
380
|
def test_to_xml_string_drawing
|
@@ -389,10 +403,13 @@ class TestWorksheet < Test::Unit::TestCase
|
|
389
403
|
end
|
390
404
|
|
391
405
|
def test_to_xml_string_with_illegal_chars
|
406
|
+
old = Axlsx::trust_input
|
407
|
+
Axlsx::trust_input = false
|
392
408
|
nasties = "\v\u2028\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u001f"
|
393
409
|
@ws.add_row [nasties]
|
394
410
|
assert_equal(0, @ws.rows.last.cells.last.value.index("\v"))
|
395
|
-
assert_equal(nil
|
411
|
+
assert_equal(nil, @ws.to_xml_string.index("\v"))
|
412
|
+
Axlsx::trust_input = old
|
396
413
|
end
|
397
414
|
|
398
415
|
def test_to_xml_string_with_newlines
|
@@ -420,16 +437,16 @@ class TestWorksheet < Test::Unit::TestCase
|
|
420
437
|
def test_relationships
|
421
438
|
@ws.add_row [1,2,3]
|
422
439
|
assert(@ws.relationships.empty?, "No Drawing relationship until you add a chart")
|
423
|
-
|
440
|
+
@ws.add_chart Axlsx::Pie3DChart
|
424
441
|
assert_equal(@ws.relationships.size, 1, "adding a chart creates the relationship")
|
425
|
-
|
442
|
+
@ws.add_chart Axlsx::Pie3DChart
|
426
443
|
assert_equal(@ws.relationships.size, 1, "multiple charts still only result in one relationship")
|
427
|
-
|
428
|
-
assert_equal(@ws.relationships.size,
|
429
|
-
|
430
|
-
assert_equal(@ws.relationships.size,
|
431
|
-
|
432
|
-
assert_equal(@ws.relationships.size,
|
444
|
+
@ws.add_comment :text => 'builder', :author => 'bob', :ref => @ws.rows.last.cells.last
|
445
|
+
assert_equal(@ws.relationships.size, 3, "adding a comment adds 2 relationships")
|
446
|
+
@ws.add_comment :text => 'not that is a comment!', :author => 'travis', :ref => "A1"
|
447
|
+
assert_equal(@ws.relationships.size, 3, "adding multiple comments in the same worksheet should not add any additional comment relationships")
|
448
|
+
@ws.add_pivot_table 'G5:G6', 'A1:D10'
|
449
|
+
assert_equal(@ws.relationships.size, 4, "adding a pivot table adds 1 relationship")
|
433
450
|
end
|
434
451
|
|
435
452
|
|
@@ -464,7 +481,7 @@ class TestWorksheet < Test::Unit::TestCase
|
|
464
481
|
@ws.column_widths nil, 0.5
|
465
482
|
assert_equal(@ws.column_info[1].width, 0.5, 'eat my width')
|
466
483
|
assert_raise(ArgumentError, 'only accept unsigned ints') { @ws.column_widths 2, 7, -1 }
|
467
|
-
assert_raise(ArgumentError, 'only accept Integer
|
484
|
+
assert_raise(ArgumentError, 'only accept Integer or Float') { @ws.column_widths 2, 7, "-1" }
|
468
485
|
end
|
469
486
|
|
470
487
|
def test_protect_range
|
@@ -501,16 +518,43 @@ class TestWorksheet < Test::Unit::TestCase
|
|
501
518
|
|
502
519
|
def test_auto_filter
|
503
520
|
assert(@ws.auto_filter.range.nil?)
|
521
|
+
assert(@wb.defined_names.none?{|defined_name| defined_name.name=='_xlnm._FilterDatabase'})
|
504
522
|
assert_raise(ArgumentError) { @ws.auto_filter = 123 }
|
505
523
|
@ws.auto_filter.range = "A1:D9"
|
506
524
|
assert_equal(@ws.auto_filter.range, "A1:D9")
|
525
|
+
@ws.to_xml_string
|
526
|
+
assert(@wb.defined_names.any?{|defined_name| defined_name.name=='_xlnm._FilterDatabase'})
|
527
|
+
end
|
528
|
+
|
529
|
+
def test_auto_filter_assign
|
530
|
+
other_ws = @wb.add_worksheet
|
531
|
+
|
532
|
+
assert(@ws.auto_filter.range.nil?)
|
533
|
+
assert(other_ws.auto_filter.range.nil?)
|
534
|
+
assert(@wb.defined_names.none?{|defined_name| defined_name.name=='_xlnm._FilterDatabase'})
|
535
|
+
assert_raise(ArgumentError) { @ws.auto_filter = 123 }
|
536
|
+
|
537
|
+
@ws.auto_filter = "A1:D9"
|
538
|
+
assert_equal(@ws.auto_filter.range, "A1:D9")
|
539
|
+
|
540
|
+
other_ws.auto_filter = "A1:D2"
|
541
|
+
assert_equal(other_ws.auto_filter.range, "A1:D2")
|
542
|
+
|
543
|
+
@ws.to_xml_string
|
544
|
+
other_ws.to_xml_string
|
545
|
+
|
546
|
+
filter_database = @wb.defined_names.select{|defined_name| defined_name.name=='_xlnm._FilterDatabase'}
|
547
|
+
assert_equal(2, filter_database.size)
|
548
|
+
assert_equal(@ws.index, filter_database[0].local_sheet_id)
|
549
|
+
assert_equal(other_ws.index, filter_database[1].local_sheet_id)
|
507
550
|
end
|
508
551
|
|
552
|
+
|
509
553
|
def test_sheet_pr_for_auto_filter
|
510
554
|
@ws.auto_filter.range = 'A1:D9'
|
511
555
|
@ws.auto_filter.add_column 0, :filters, :filter_items => [1]
|
512
556
|
doc = Nokogiri::XML(@ws.to_xml_string)
|
513
|
-
assert(doc.xpath('//sheetPr[@filterMode=
|
557
|
+
assert(doc.xpath('//sheetPr[@filterMode=1]'))
|
514
558
|
end
|
515
559
|
|
516
560
|
def test_outline_level_rows
|
@@ -535,4 +579,14 @@ class TestWorksheet < Test::Unit::TestCase
|
|
535
579
|
assert_equal(1, @wb.worksheets.size)
|
536
580
|
end
|
537
581
|
|
582
|
+
def test_worksheet_only_includes_outline_pr_when_set
|
583
|
+
doc = Nokogiri::XML(@ws.to_xml_string)
|
584
|
+
assert_equal(doc.xpath('//xmlns:worksheet/xmlns:sheetPr/xmlns:outlinePr').size, 0)
|
585
|
+
|
586
|
+
@ws.sheet_pr.outline_pr.summary_below = false
|
587
|
+
@ws.sheet_pr.outline_pr.summary_right = true
|
588
|
+
doc = Nokogiri::XML(@ws.to_xml_string)
|
589
|
+
assert_equal(doc.xpath('//xmlns:worksheet/xmlns:sheetPr/xmlns:outlinePr').size, 1)
|
590
|
+
assert_equal(doc.xpath('//xmlns:worksheet/xmlns:sheetPr/xmlns:outlinePr[@summaryBelow=0][@summaryRight=1]').size, 1)
|
591
|
+
end
|
538
592
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: caxlsx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Randy Morgan
|
@@ -10,22 +10,28 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2019-
|
13
|
+
date: 2019-09-08 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: nokogiri
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
|
+
- - "~>"
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '1.8'
|
19
22
|
- - ">="
|
20
23
|
- !ruby/object:Gem::Version
|
21
|
-
version: 1.
|
24
|
+
version: 1.8.2
|
22
25
|
type: :runtime
|
23
26
|
prerelease: false
|
24
27
|
version_requirements: !ruby/object:Gem::Requirement
|
25
28
|
requirements:
|
29
|
+
- - "~>"
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: '1.8'
|
26
32
|
- - ">="
|
27
33
|
- !ruby/object:Gem::Version
|
28
|
-
version: 1.
|
34
|
+
version: 1.8.2
|
29
35
|
- !ruby/object:Gem::Dependency
|
30
36
|
name: rubyzip
|
31
37
|
requirement: !ruby/object:Gem::Requirement
|
@@ -33,6 +39,9 @@ dependencies:
|
|
33
39
|
- - "~>"
|
34
40
|
- !ruby/object:Gem::Version
|
35
41
|
version: '1.2'
|
42
|
+
- - ">="
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: 1.2.1
|
36
45
|
type: :runtime
|
37
46
|
prerelease: false
|
38
47
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -40,62 +49,91 @@ dependencies:
|
|
40
49
|
- - "~>"
|
41
50
|
- !ruby/object:Gem::Version
|
42
51
|
version: '1.2'
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.2.1
|
43
55
|
- !ruby/object:Gem::Dependency
|
44
56
|
name: htmlentities
|
45
57
|
requirement: !ruby/object:Gem::Requirement
|
46
58
|
requirements:
|
47
59
|
- - "~>"
|
48
60
|
- !ruby/object:Gem::Version
|
49
|
-
version: 4.3
|
61
|
+
version: '4.3'
|
62
|
+
- - ">="
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: 4.3.4
|
50
65
|
type: :runtime
|
51
66
|
prerelease: false
|
52
67
|
version_requirements: !ruby/object:Gem::Requirement
|
53
68
|
requirements:
|
54
69
|
- - "~>"
|
55
70
|
- !ruby/object:Gem::Version
|
56
|
-
version: 4.3
|
71
|
+
version: '4.3'
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: 4.3.4
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: mimemagic
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - "~>"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0.3'
|
82
|
+
type: :runtime
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - "~>"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0.3'
|
57
89
|
- !ruby/object:Gem::Dependency
|
58
90
|
name: yard
|
59
91
|
requirement: !ruby/object:Gem::Requirement
|
60
92
|
requirements:
|
61
|
-
- - "
|
93
|
+
- - "~>"
|
62
94
|
- !ruby/object:Gem::Version
|
63
|
-
version:
|
95
|
+
version: 0.9.8
|
64
96
|
type: :development
|
65
97
|
prerelease: false
|
66
98
|
version_requirements: !ruby/object:Gem::Requirement
|
67
99
|
requirements:
|
68
|
-
- - "
|
100
|
+
- - "~>"
|
69
101
|
- !ruby/object:Gem::Version
|
70
|
-
version:
|
102
|
+
version: 0.9.8
|
71
103
|
- !ruby/object:Gem::Dependency
|
72
104
|
name: kramdown
|
73
105
|
requirement: !ruby/object:Gem::Requirement
|
74
106
|
requirements:
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '1.16'
|
75
110
|
- - ">="
|
76
111
|
- !ruby/object:Gem::Version
|
77
|
-
version:
|
112
|
+
version: 1.16.2
|
78
113
|
type: :development
|
79
114
|
prerelease: false
|
80
115
|
version_requirements: !ruby/object:Gem::Requirement
|
81
116
|
requirements:
|
117
|
+
- - "~>"
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: '1.16'
|
82
120
|
- - ">="
|
83
121
|
- !ruby/object:Gem::Version
|
84
|
-
version:
|
122
|
+
version: 1.16.2
|
85
123
|
- !ruby/object:Gem::Dependency
|
86
124
|
name: timecop
|
87
125
|
requirement: !ruby/object:Gem::Requirement
|
88
126
|
requirements:
|
89
127
|
- - "~>"
|
90
128
|
- !ruby/object:Gem::Version
|
91
|
-
version: 0.
|
129
|
+
version: 0.8.1
|
92
130
|
type: :development
|
93
131
|
prerelease: false
|
94
132
|
version_requirements: !ruby/object:Gem::Requirement
|
95
133
|
requirements:
|
96
134
|
- - "~>"
|
97
135
|
- !ruby/object:Gem::Version
|
98
|
-
version: 0.
|
136
|
+
version: 0.8.1
|
99
137
|
description: " xlsx spreadsheet generation with charts, images, automated column
|
100
138
|
width, customizable styles and full schema validation. Axlsx helps you create beautiful
|
101
139
|
Office Open XML Spreadsheet documents ( Excel, Google Spreadsheets, Numbers, LibreOffice)
|
@@ -130,10 +168,14 @@ files:
|
|
130
168
|
- examples/extractive.rb
|
131
169
|
- examples/image1.jpeg
|
132
170
|
- examples/ios_preview.rb
|
171
|
+
- examples/merge_cells.rb
|
172
|
+
- examples/no_grid_with_borders.rb
|
133
173
|
- examples/page_setup.rb
|
134
174
|
- examples/pivot_table.rb
|
175
|
+
- examples/pivot_test.rb
|
135
176
|
- examples/sheet_protection.rb
|
136
177
|
- examples/skydrive/real_example.rb
|
178
|
+
- examples/split.rb
|
137
179
|
- examples/styles.rb
|
138
180
|
- examples/underline.rb
|
139
181
|
- examples/wrap_text.rb
|
@@ -144,11 +186,16 @@ files:
|
|
144
186
|
- lib/axlsx/content_type/override.rb
|
145
187
|
- lib/axlsx/doc_props/app.rb
|
146
188
|
- lib/axlsx/doc_props/core.rb
|
189
|
+
- lib/axlsx/drawing/area_chart.rb
|
190
|
+
- lib/axlsx/drawing/area_series.rb
|
147
191
|
- lib/axlsx/drawing/ax_data_source.rb
|
148
192
|
- lib/axlsx/drawing/axes.rb
|
149
193
|
- lib/axlsx/drawing/axis.rb
|
150
194
|
- lib/axlsx/drawing/bar_3D_chart.rb
|
195
|
+
- lib/axlsx/drawing/bar_chart.rb
|
151
196
|
- lib/axlsx/drawing/bar_series.rb
|
197
|
+
- lib/axlsx/drawing/bubble_chart.rb
|
198
|
+
- lib/axlsx/drawing/bubble_series.rb
|
152
199
|
- lib/axlsx/drawing/cat_axis.rb
|
153
200
|
- lib/axlsx/drawing/chart.rb
|
154
201
|
- lib/axlsx/drawing/d_lbls.rb
|
@@ -204,6 +251,7 @@ files:
|
|
204
251
|
- lib/axlsx/stylesheet/xf.rb
|
205
252
|
- lib/axlsx/util/accessors.rb
|
206
253
|
- lib/axlsx/util/constants.rb
|
254
|
+
- lib/axlsx/util/mime_type_utils.rb
|
207
255
|
- lib/axlsx/util/options_parser.rb
|
208
256
|
- lib/axlsx/util/parser.rb
|
209
257
|
- lib/axlsx/util/serialized_attributes.rb
|
@@ -215,6 +263,8 @@ files:
|
|
215
263
|
- lib/axlsx/workbook/defined_names.rb
|
216
264
|
- lib/axlsx/workbook/shared_strings_table.rb
|
217
265
|
- lib/axlsx/workbook/workbook.rb
|
266
|
+
- lib/axlsx/workbook/workbook_view.rb
|
267
|
+
- lib/axlsx/workbook/workbook_views.rb
|
218
268
|
- lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb
|
219
269
|
- lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb
|
220
270
|
- lib/axlsx/workbook/worksheet/auto_filter/filters.rb
|
@@ -240,6 +290,7 @@ files:
|
|
240
290
|
- lib/axlsx/workbook/worksheet/header_footer.rb
|
241
291
|
- lib/axlsx/workbook/worksheet/icon_set.rb
|
242
292
|
- lib/axlsx/workbook/worksheet/merged_cells.rb
|
293
|
+
- lib/axlsx/workbook/worksheet/outline_pr.rb
|
243
294
|
- lib/axlsx/workbook/worksheet/page_margins.rb
|
244
295
|
- lib/axlsx/workbook/worksheet/page_set_up_pr.rb
|
245
296
|
- lib/axlsx/workbook/worksheet/page_setup.rb
|
@@ -250,6 +301,8 @@ files:
|
|
250
301
|
- lib/axlsx/workbook/worksheet/print_options.rb
|
251
302
|
- lib/axlsx/workbook/worksheet/protected_range.rb
|
252
303
|
- lib/axlsx/workbook/worksheet/protected_ranges.rb
|
304
|
+
- lib/axlsx/workbook/worksheet/rich_text.rb
|
305
|
+
- lib/axlsx/workbook/worksheet/rich_text_run.rb
|
253
306
|
- lib/axlsx/workbook/worksheet/row.rb
|
254
307
|
- lib/axlsx/workbook/worksheet/row_breaks.rb
|
255
308
|
- lib/axlsx/workbook/worksheet/selection.rb
|
@@ -308,10 +361,15 @@ files:
|
|
308
361
|
- test/content_type/tc_override.rb
|
309
362
|
- test/doc_props/tc_app.rb
|
310
363
|
- test/doc_props/tc_core.rb
|
364
|
+
- test/drawing/tc_area_chart.rb
|
365
|
+
- test/drawing/tc_area_series.rb
|
311
366
|
- test/drawing/tc_axes.rb
|
312
367
|
- test/drawing/tc_axis.rb
|
313
368
|
- test/drawing/tc_bar_3D_chart.rb
|
369
|
+
- test/drawing/tc_bar_chart.rb
|
314
370
|
- test/drawing/tc_bar_series.rb
|
371
|
+
- test/drawing/tc_bubble_chart.rb
|
372
|
+
- test/drawing/tc_bubble_series.rb
|
315
373
|
- test/drawing/tc_cat_axis.rb
|
316
374
|
- test/drawing/tc_cat_axis_data.rb
|
317
375
|
- test/drawing/tc_chart.rb
|
@@ -370,12 +428,14 @@ files:
|
|
370
428
|
- test/tc_axlsx.rb
|
371
429
|
- test/tc_helper.rb
|
372
430
|
- test/tc_package.rb
|
431
|
+
- test/util/tc_mime_type_utils.rb
|
373
432
|
- test/util/tc_serialized_attributes.rb
|
374
433
|
- test/util/tc_simple_typed_list.rb
|
375
434
|
- test/util/tc_validators.rb
|
376
435
|
- test/workbook/tc_defined_name.rb
|
377
436
|
- test/workbook/tc_shared_strings_table.rb
|
378
437
|
- test/workbook/tc_workbook.rb
|
438
|
+
- test/workbook/tc_workbook_view.rb
|
379
439
|
- test/workbook/worksheet/auto_filter/tc_auto_filter.rb
|
380
440
|
- test/workbook/worksheet/auto_filter/tc_filter_column.rb
|
381
441
|
- test/workbook/worksheet/auto_filter/tc_filters.rb
|
@@ -392,6 +452,7 @@ files:
|
|
392
452
|
- test/workbook/worksheet/tc_date_time_converter.rb
|
393
453
|
- test/workbook/worksheet/tc_header_footer.rb
|
394
454
|
- test/workbook/worksheet/tc_icon_set.rb
|
455
|
+
- test/workbook/worksheet/tc_outline_pr.rb
|
395
456
|
- test/workbook/worksheet/tc_page_margins.rb
|
396
457
|
- test/workbook/worksheet/tc_page_set_up_pr.rb
|
397
458
|
- test/workbook/worksheet/tc_page_setup.rb
|
@@ -400,6 +461,8 @@ files:
|
|
400
461
|
- test/workbook/worksheet/tc_pivot_table_cache_definition.rb
|
401
462
|
- test/workbook/worksheet/tc_print_options.rb
|
402
463
|
- test/workbook/worksheet/tc_protected_range.rb
|
464
|
+
- test/workbook/worksheet/tc_rich_text.rb
|
465
|
+
- test/workbook/worksheet/tc_rich_text_run.rb
|
403
466
|
- test/workbook/worksheet/tc_row.rb
|
404
467
|
- test/workbook/worksheet/tc_selection.rb
|
405
468
|
- test/workbook/worksheet/tc_sheet_calc_pr.rb
|
@@ -411,7 +474,7 @@ files:
|
|
411
474
|
- test/workbook/worksheet/tc_table_style_info.rb
|
412
475
|
- test/workbook/worksheet/tc_worksheet.rb
|
413
476
|
- test/workbook/worksheet/tc_worksheet_hyperlink.rb
|
414
|
-
homepage: https://github.com/caxlsx/
|
477
|
+
homepage: https://github.com/caxlsx/axlsx
|
415
478
|
licenses:
|
416
479
|
- MIT
|
417
480
|
metadata: {}
|
@@ -433,7 +496,7 @@ requirements: []
|
|
433
496
|
rubygems_version: 3.0.4
|
434
497
|
signing_key:
|
435
498
|
specification_version: 4
|
436
|
-
summary:
|
499
|
+
summary: Excel OOXML (xlsx) with charts, styles, images and autowidth columns.
|
437
500
|
test_files:
|
438
501
|
- test/drawing/tc_num_data.rb
|
439
502
|
- test/drawing/tc_two_cell_anchor.rb
|
@@ -445,16 +508,20 @@ test_files:
|
|
445
508
|
- test/drawing/tc_axis.rb
|
446
509
|
- test/drawing/tc_line_chart.rb
|
447
510
|
- test/drawing/tc_marker.rb
|
511
|
+
- test/drawing/tc_bubble_series.rb
|
448
512
|
- test/drawing/tc_d_lbls.rb
|
449
513
|
- test/drawing/tc_str_val.rb
|
514
|
+
- test/drawing/tc_bar_chart.rb
|
450
515
|
- test/drawing/tc_line_3d_chart.rb
|
451
516
|
- test/drawing/tc_cat_axis_data.rb
|
517
|
+
- test/drawing/tc_area_chart.rb
|
452
518
|
- test/drawing/tc_line_series.rb
|
453
519
|
- test/drawing/tc_scatter_series.rb
|
454
520
|
- test/drawing/tc_bar_series.rb
|
455
521
|
- test/drawing/tc_hyperlink.rb
|
456
522
|
- test/drawing/tc_pic.rb
|
457
523
|
- test/drawing/tc_named_axis_data.rb
|
524
|
+
- test/drawing/tc_bubble_chart.rb
|
458
525
|
- test/drawing/tc_str_data.rb
|
459
526
|
- test/drawing/tc_drawing.rb
|
460
527
|
- test/drawing/tc_scatter_chart.rb
|
@@ -467,6 +534,7 @@ test_files:
|
|
467
534
|
- test/drawing/tc_axes.rb
|
468
535
|
- test/drawing/tc_vml_drawing.rb
|
469
536
|
- test/drawing/tc_pie_3D_chart.rb
|
537
|
+
- test/drawing/tc_area_series.rb
|
470
538
|
- test/drawing/tc_graphic_frame.rb
|
471
539
|
- test/drawing/tc_one_cell_anchor.rb
|
472
540
|
- test/drawing/tc_data_source.rb
|
@@ -474,6 +542,7 @@ test_files:
|
|
474
542
|
- test/drawing/tc_scaling.rb
|
475
543
|
- test/drawing/tc_bar_3D_chart.rb
|
476
544
|
- test/util/tc_simple_typed_list.rb
|
545
|
+
- test/util/tc_mime_type_utils.rb
|
477
546
|
- test/util/tc_validators.rb
|
478
547
|
- test/util/tc_serialized_attributes.rb
|
479
548
|
- test/tc_axlsx.rb
|
@@ -506,6 +575,7 @@ test_files:
|
|
506
575
|
- test/profile.rb
|
507
576
|
- test/benchmark.rb
|
508
577
|
- test/tc_package.rb
|
578
|
+
- test/workbook/tc_workbook_view.rb
|
509
579
|
- test/workbook/tc_defined_name.rb
|
510
580
|
- test/workbook/worksheet/tc_data_bar.rb
|
511
581
|
- test/workbook/worksheet/tc_worksheet_hyperlink.rb
|
@@ -513,6 +583,7 @@ test_files:
|
|
513
583
|
- test/workbook/worksheet/tc_pivot_table_cache_definition.rb
|
514
584
|
- test/workbook/worksheet/tc_protected_range.rb
|
515
585
|
- test/workbook/worksheet/tc_selection.rb
|
586
|
+
- test/workbook/worksheet/tc_rich_text.rb
|
516
587
|
- test/workbook/worksheet/tc_date_time_converter.rb
|
517
588
|
- test/workbook/worksheet/tc_table_style_info.rb
|
518
589
|
- test/workbook/worksheet/tc_conditional_formatting.rb
|
@@ -522,6 +593,7 @@ test_files:
|
|
522
593
|
- test/workbook/worksheet/tc_sheet_calc_pr.rb
|
523
594
|
- test/workbook/worksheet/tc_color_scale.rb
|
524
595
|
- test/workbook/worksheet/tc_worksheet.rb
|
596
|
+
- test/workbook/worksheet/tc_rich_text_run.rb
|
525
597
|
- test/workbook/worksheet/tc_sheet_pr.rb
|
526
598
|
- test/workbook/worksheet/auto_filter/tc_filters.rb
|
527
599
|
- test/workbook/worksheet/auto_filter/tc_auto_filter.rb
|
@@ -539,6 +611,7 @@ test_files:
|
|
539
611
|
- test/workbook/worksheet/tc_sheet_format_pr.rb
|
540
612
|
- test/workbook/worksheet/tc_print_options.rb
|
541
613
|
- test/workbook/worksheet/tc_comment.rb
|
614
|
+
- test/workbook/worksheet/tc_outline_pr.rb
|
542
615
|
- test/workbook/worksheet/tc_row.rb
|
543
616
|
- test/workbook/worksheet/tc_icon_set.rb
|
544
617
|
- test/workbook/worksheet/tc_page_set_up_pr.rb
|