axlsx 2.0.1 → 2.1.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (155) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +6 -3
  3. data/Rakefile +9 -10
  4. data/examples/IMAGE1UP.JPEG +0 -0
  5. data/examples/auto_filter.rb +10 -1
  6. data/examples/conditional_formatting/example_conditional_formatting.rb +3 -3
  7. data/examples/example.rb +72 -4
  8. data/examples/merge_cells.rb +17 -0
  9. data/examples/no_grid_with_borders.rb +18 -0
  10. data/examples/pivot_test.rb +63 -0
  11. data/examples/split.rb +16 -0
  12. data/lib/axlsx.rb +30 -16
  13. data/lib/axlsx/content_type/abstract_content_type.rb +1 -1
  14. data/lib/axlsx/content_type/content_type.rb +1 -1
  15. data/lib/axlsx/doc_props/app.rb +1 -1
  16. data/lib/axlsx/doc_props/core.rb +5 -5
  17. data/lib/axlsx/drawing/axes.rb +1 -1
  18. data/lib/axlsx/drawing/axis.rb +12 -9
  19. data/lib/axlsx/drawing/bar_3D_chart.rb +13 -13
  20. data/lib/axlsx/drawing/bar_series.rb +9 -9
  21. data/lib/axlsx/drawing/bubble_chart.rb +59 -0
  22. data/lib/axlsx/drawing/bubble_series.rb +63 -0
  23. data/lib/axlsx/drawing/cat_axis.rb +5 -5
  24. data/lib/axlsx/drawing/chart.rb +44 -7
  25. data/lib/axlsx/drawing/drawing.rb +3 -1
  26. data/lib/axlsx/drawing/graphic_frame.rb +3 -3
  27. data/lib/axlsx/drawing/hyperlink.rb +1 -3
  28. data/lib/axlsx/drawing/line_3D_chart.rb +2 -2
  29. data/lib/axlsx/drawing/line_chart.rb +10 -10
  30. data/lib/axlsx/drawing/line_series.rb +14 -2
  31. data/lib/axlsx/drawing/marker.rb +1 -1
  32. data/lib/axlsx/drawing/num_data.rb +4 -4
  33. data/lib/axlsx/drawing/num_data_source.rb +6 -6
  34. data/lib/axlsx/drawing/num_val.rb +1 -1
  35. data/lib/axlsx/drawing/one_cell_anchor.rb +1 -1
  36. data/lib/axlsx/drawing/pic.rb +2 -3
  37. data/lib/axlsx/drawing/picture_locking.rb +1 -3
  38. data/lib/axlsx/drawing/pie_3D_chart.rb +5 -6
  39. data/lib/axlsx/drawing/pie_series.rb +6 -6
  40. data/lib/axlsx/drawing/scaling.rb +4 -4
  41. data/lib/axlsx/drawing/scatter_chart.rb +10 -10
  42. data/lib/axlsx/drawing/scatter_series.rb +26 -7
  43. data/lib/axlsx/drawing/ser_axis.rb +2 -2
  44. data/lib/axlsx/drawing/series.rb +3 -3
  45. data/lib/axlsx/drawing/series_title.rb +2 -2
  46. data/lib/axlsx/drawing/str_data.rb +3 -3
  47. data/lib/axlsx/drawing/str_val.rb +1 -1
  48. data/lib/axlsx/drawing/title.rb +3 -3
  49. data/lib/axlsx/drawing/val_axis.rb +1 -1
  50. data/lib/axlsx/drawing/vml_drawing.rb +1 -1
  51. data/lib/axlsx/package.rb +39 -28
  52. data/lib/axlsx/rels/relationship.rb +1 -1
  53. data/lib/axlsx/rels/relationships.rb +2 -2
  54. data/lib/axlsx/stylesheet/border_pr.rb +2 -2
  55. data/lib/axlsx/stylesheet/cell_alignment.rb +1 -3
  56. data/lib/axlsx/stylesheet/cell_protection.rb +1 -3
  57. data/lib/axlsx/stylesheet/cell_style.rb +1 -3
  58. data/lib/axlsx/stylesheet/color.rb +1 -3
  59. data/lib/axlsx/stylesheet/font.rb +1 -1
  60. data/lib/axlsx/stylesheet/gradient_stop.rb +1 -1
  61. data/lib/axlsx/stylesheet/num_fmt.rb +1 -3
  62. data/lib/axlsx/stylesheet/pattern_fill.rb +1 -1
  63. data/lib/axlsx/stylesheet/styles.rb +6 -6
  64. data/lib/axlsx/stylesheet/table_style_element.rb +1 -3
  65. data/lib/axlsx/util/accessors.rb +6 -6
  66. data/lib/axlsx/util/constants.rb +106 -101
  67. data/lib/axlsx/util/options_parser.rb +2 -1
  68. data/lib/axlsx/util/parser.rb +4 -4
  69. data/lib/axlsx/util/serialized_attributes.rb +16 -6
  70. data/lib/axlsx/util/simple_typed_list.rb +28 -52
  71. data/lib/axlsx/util/storage.rb +4 -4
  72. data/lib/axlsx/util/string.rb +7 -0
  73. data/lib/axlsx/util/validators.rb +20 -13
  74. data/lib/axlsx/version.rb +1 -1
  75. data/lib/axlsx/workbook/defined_name.rb +11 -12
  76. data/lib/axlsx/workbook/defined_names.rb +2 -2
  77. data/lib/axlsx/workbook/shared_strings_table.rb +5 -5
  78. data/lib/axlsx/workbook/workbook.rb +19 -12
  79. data/lib/axlsx/workbook/workbook_view.rb +78 -0
  80. data/lib/axlsx/workbook/workbook_views.rb +22 -0
  81. data/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb +2 -2
  82. data/lib/axlsx/workbook/worksheet/auto_filter/filters.rb +1 -3
  83. data/lib/axlsx/workbook/worksheet/break.rb +1 -3
  84. data/lib/axlsx/workbook/worksheet/cell.rb +128 -73
  85. data/lib/axlsx/workbook/worksheet/cell_serializer.rb +50 -40
  86. data/lib/axlsx/workbook/worksheet/cfvo.rb +1 -3
  87. data/lib/axlsx/workbook/worksheet/cfvos.rb +1 -1
  88. data/lib/axlsx/workbook/worksheet/col.rb +7 -10
  89. data/lib/axlsx/workbook/worksheet/col_breaks.rb +2 -2
  90. data/lib/axlsx/workbook/worksheet/comment.rb +5 -6
  91. data/lib/axlsx/workbook/worksheet/comments.rb +9 -12
  92. data/lib/axlsx/workbook/worksheet/conditional_formatting.rb +1 -1
  93. data/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb +1 -1
  94. data/lib/axlsx/workbook/worksheet/data_bar.rb +4 -6
  95. data/lib/axlsx/workbook/worksheet/data_validation.rb +6 -4
  96. data/lib/axlsx/workbook/worksheet/dimension.rb +2 -2
  97. data/lib/axlsx/workbook/worksheet/header_footer.rb +6 -8
  98. data/lib/axlsx/workbook/worksheet/icon_set.rb +3 -5
  99. data/lib/axlsx/workbook/worksheet/merged_cells.rb +2 -2
  100. data/lib/axlsx/workbook/worksheet/page_margins.rb +1 -3
  101. data/lib/axlsx/workbook/worksheet/page_set_up_pr.rb +1 -1
  102. data/lib/axlsx/workbook/worksheet/page_setup.rb +21 -23
  103. data/lib/axlsx/workbook/worksheet/pane.rb +1 -3
  104. data/lib/axlsx/workbook/worksheet/pivot_table.rb +17 -24
  105. data/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb +4 -4
  106. data/lib/axlsx/workbook/worksheet/print_options.rb +1 -3
  107. data/lib/axlsx/workbook/worksheet/protected_range.rb +1 -3
  108. data/lib/axlsx/workbook/worksheet/protected_ranges.rb +1 -1
  109. data/lib/axlsx/workbook/worksheet/rich_text.rb +35 -0
  110. data/lib/axlsx/workbook/worksheet/rich_text_run.rb +254 -0
  111. data/lib/axlsx/workbook/worksheet/row.rb +33 -51
  112. data/lib/axlsx/workbook/worksheet/row_breaks.rb +2 -2
  113. data/lib/axlsx/workbook/worksheet/selection.rb +1 -3
  114. data/lib/axlsx/workbook/worksheet/sheet_data.rb +3 -1
  115. data/lib/axlsx/workbook/worksheet/sheet_protection.rb +1 -3
  116. data/lib/axlsx/workbook/worksheet/table.rb +6 -6
  117. data/lib/axlsx/workbook/worksheet/table_style_info.rb +1 -3
  118. data/lib/axlsx/workbook/worksheet/tables.rb +1 -1
  119. data/lib/axlsx/workbook/worksheet/worksheet.rb +59 -30
  120. data/lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb +3 -3
  121. data/test/drawing/tc_axis.rb +27 -0
  122. data/test/drawing/tc_bubble_chart.rb +44 -0
  123. data/test/drawing/tc_bubble_series.rb +21 -0
  124. data/test/drawing/tc_data_source.rb +6 -0
  125. data/test/drawing/tc_line_chart.rb +5 -5
  126. data/test/drawing/tc_line_series.rb +10 -2
  127. data/test/drawing/tc_pic.rb +4 -0
  128. data/test/drawing/tc_scatter_series.rb +25 -1
  129. data/test/tc_helper.rb +1 -1
  130. data/test/tc_package.rb +7 -1
  131. data/test/util/tc_simple_typed_list.rb +1 -2
  132. data/test/workbook/tc_defined_name.rb +12 -4
  133. data/test/workbook/tc_workbook.rb +16 -2
  134. data/test/workbook/tc_workbook_view.rb +50 -0
  135. data/test/workbook/worksheet/auto_filter/tc_filters.rb +1 -1
  136. data/test/workbook/worksheet/tc_break.rb +1 -1
  137. data/test/workbook/worksheet/tc_cell.rb +30 -4
  138. data/test/workbook/worksheet/tc_col.rb +2 -2
  139. data/test/workbook/worksheet/tc_conditional_formatting.rb +2 -2
  140. data/test/workbook/worksheet/tc_data_bar.rb +1 -1
  141. data/test/workbook/worksheet/tc_data_validation.rb +11 -11
  142. data/test/workbook/worksheet/tc_header_footer.rb +2 -2
  143. data/test/workbook/worksheet/tc_icon_set.rb +1 -1
  144. data/test/workbook/worksheet/tc_page_setup.rb +3 -3
  145. data/test/workbook/worksheet/tc_print_options.rb +1 -1
  146. data/test/workbook/worksheet/tc_rich_text.rb +44 -0
  147. data/test/workbook/worksheet/tc_rich_text_run.rb +172 -0
  148. data/test/workbook/worksheet/tc_row.rb +2 -2
  149. data/test/workbook/worksheet/tc_sheet_calc_pr.rb +1 -1
  150. data/test/workbook/worksheet/tc_sheet_format_pr.rb +4 -4
  151. data/test/workbook/worksheet/tc_sheet_protection.rb +5 -5
  152. data/test/workbook/worksheet/tc_sheet_view.rb +4 -4
  153. data/test/workbook/worksheet/tc_worksheet.rb +49 -10
  154. metadata +81 -55
  155. data/test/axlsx.qcachegrind +0 -2226
@@ -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='false']").size)
200
+ assert_equal(1, doc.xpath("//sheetView[@tabSelected=0]").size)
201
201
 
202
- assert_equal(1, doc.xpath("//sheetView[@tabSelected='false'][@showWhiteSpace='false'][@showOutlineSymbols='false'][@showFormulas='false']
203
- [@rightToLeft='false'][@windowProtection='false'][@showZeros='true'][@showRuler='true']
204
- [@showRowColHeaders='true'][@showGridLines='true'][@defaultGridColor='true']
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
@@ -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]
@@ -260,7 +269,7 @@ class TestWorksheet < Test::Unit::TestCase
260
269
  def test_to_xml_string_fit_to_page
261
270
  @ws.page_setup.fit_to_width = 1
262
271
  doc = Nokogiri::XML(@ws.to_xml_string)
263
- assert_equal(doc.xpath('//xmlns:worksheet/xmlns:sheetPr/xmlns:pageSetUpPr[@fitToPage="true"]').size, 1)
272
+ assert_equal(doc.xpath('//xmlns:worksheet/xmlns:sheetPr/xmlns:pageSetUpPr[@fitToPage=1]').size, 1)
264
273
  end
265
274
 
266
275
  def test_to_xml_string_dimensions
@@ -277,13 +286,13 @@ class TestWorksheet < Test::Unit::TestCase
277
286
  def test_to_xml_string_selected
278
287
  @ws.selected = true
279
288
  doc = Nokogiri::XML(@ws.to_xml_string)
280
- assert_equal(doc.xpath('//xmlns:worksheet/xmlns:sheetViews/xmlns:sheetView[@tabSelected="true"]').size, 1)
289
+ assert_equal(doc.xpath('//xmlns:worksheet/xmlns:sheetViews/xmlns:sheetView[@tabSelected=1]').size, 1)
281
290
  end
282
291
 
283
292
  def test_to_xml_string_show_gridlines
284
293
  @ws.show_gridlines = false
285
294
  doc = Nokogiri::XML(@ws.to_xml_string)
286
- assert_equal(doc.xpath('//xmlns:worksheet/xmlns:sheetViews/xmlns:sheetView[@showGridLines="false"]').size, 1)
295
+ assert_equal(doc.xpath('//xmlns:worksheet/xmlns:sheetViews/xmlns:sheetView[@showGridLines=0]').size, 1)
287
296
  end
288
297
 
289
298
  def test_to_xml_string_auto_fit_data
@@ -350,7 +359,7 @@ class TestWorksheet < Test::Unit::TestCase
350
359
  po.horizontal_centered = true
351
360
  end
352
361
  doc = Nokogiri::XML(@ws.to_xml_string)
353
- assert_equal(doc.xpath('//xmlns:worksheet/xmlns:printOptions[@gridLines="true"][@horizontalCentered="true"]').size, 1)
362
+ assert_equal(doc.xpath('//xmlns:worksheet/xmlns:printOptions[@gridLines=1][@horizontalCentered=1]').size, 1)
354
363
  end
355
364
 
356
365
  def test_to_xml_string_header_footer
@@ -360,7 +369,7 @@ class TestWorksheet < Test::Unit::TestCase
360
369
  hf.odd_header = 'Test Header'
361
370
  end
362
371
  doc = Nokogiri::XML(@ws.to_xml_string)
363
- assert_equal(doc.xpath('//xmlns:worksheet/xmlns:headerFooter[@differentFirst="false"][@differentOddEven="false"]').size, 1)
372
+ assert_equal(doc.xpath('//xmlns:worksheet/xmlns:headerFooter[@differentFirst=0][@differentOddEven=0]').size, 1)
364
373
  end
365
374
 
366
375
  def test_to_xml_string_drawing
@@ -389,10 +398,13 @@ class TestWorksheet < Test::Unit::TestCase
389
398
  end
390
399
 
391
400
  def test_to_xml_string_with_illegal_chars
401
+ old = Axlsx::trust_input
402
+ Axlsx::trust_input = false
392
403
  nasties = "\v\u2028\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u001f"
393
404
  @ws.add_row [nasties]
394
405
  assert_equal(0, @ws.rows.last.cells.last.value.index("\v"))
395
- assert_equal(nil,@ws.to_xml_string.index("\v"))
406
+ assert_equal(nil, @ws.to_xml_string.index("\v"))
407
+ Axlsx::trust_input = old
396
408
  end
397
409
 
398
410
  def test_to_xml_string_with_newlines
@@ -425,11 +437,11 @@ class TestWorksheet < Test::Unit::TestCase
425
437
  c = @ws.add_chart Axlsx::Pie3DChart
426
438
  assert_equal(@ws.relationships.size, 1, "multiple charts still only result in one relationship")
427
439
  c = @ws.add_comment :text => 'builder', :author => 'bob', :ref => @ws.rows.last.cells.last
428
- assert_equal(@ws.relationships.size, 4, "adding a comment adds 3 relationships")
440
+ assert_equal(@ws.relationships.size, 3, "adding a comment adds 2 relationships")
429
441
  c = @ws.add_comment :text => 'not that is a comment!', :author => 'travis', :ref => "A1"
430
- assert_equal(@ws.relationships.size, 4, "adding multiple comments in the same worksheet should not add any additional comment relationships")
442
+ assert_equal(@ws.relationships.size, 3, "adding multiple comments in the same worksheet should not add any additional comment relationships")
431
443
  c = @ws.add_pivot_table 'G5:G6', 'A1:D10'
432
- assert_equal(@ws.relationships.size, 5, "adding a pivot table adds 1 relationship")
444
+ assert_equal(@ws.relationships.size, 4, "adding a pivot table adds 1 relationship")
433
445
  end
434
446
 
435
447
 
@@ -501,16 +513,43 @@ class TestWorksheet < Test::Unit::TestCase
501
513
 
502
514
  def test_auto_filter
503
515
  assert(@ws.auto_filter.range.nil?)
516
+ assert(@wb.defined_names.none?{|defined_name| defined_name.name=='_xlnm._FilterDatabase'})
504
517
  assert_raise(ArgumentError) { @ws.auto_filter = 123 }
505
518
  @ws.auto_filter.range = "A1:D9"
506
519
  assert_equal(@ws.auto_filter.range, "A1:D9")
520
+ @ws.to_xml_string
521
+ assert(@wb.defined_names.any?{|defined_name| defined_name.name=='_xlnm._FilterDatabase'})
507
522
  end
508
523
 
524
+ def test_auto_filter_assign
525
+ other_ws = @wb.add_worksheet
526
+
527
+ assert(@ws.auto_filter.range.nil?)
528
+ assert(other_ws.auto_filter.range.nil?)
529
+ assert(@wb.defined_names.none?{|defined_name| defined_name.name=='_xlnm._FilterDatabase'})
530
+ assert_raise(ArgumentError) { @ws.auto_filter = 123 }
531
+
532
+ @ws.auto_filter = "A1:D9"
533
+ assert_equal(@ws.auto_filter.range, "A1:D9")
534
+
535
+ other_ws.auto_filter = "A1:D2"
536
+ assert_equal(other_ws.auto_filter.range, "A1:D2")
537
+
538
+ @ws.to_xml_string
539
+ other_ws.to_xml_string
540
+
541
+ filter_database = @wb.defined_names.select{|defined_name| defined_name.name=='_xlnm._FilterDatabase'}
542
+ assert_equal(2, filter_database.size)
543
+ assert_equal(@ws.index, filter_database[0].local_sheet_id)
544
+ assert_equal(other_ws.index, filter_database[1].local_sheet_id)
545
+ end
546
+
547
+
509
548
  def test_sheet_pr_for_auto_filter
510
549
  @ws.auto_filter.range = 'A1:D9'
511
550
  @ws.auto_filter.add_column 0, :filters, :filter_items => [1]
512
551
  doc = Nokogiri::XML(@ws.to_xml_string)
513
- assert(doc.xpath('//sheetPr[@filterMode="true"]'))
552
+ assert(doc.xpath('//sheetPr[@filterMode=1]'))
514
553
  end
515
554
 
516
555
  def test_outline_level_rows
metadata CHANGED
@@ -1,106 +1,147 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: axlsx
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.1.0.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Randy Morgan
8
+ - Jurriaan Pruis
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-09-13 00:00:00.000000000 Z
12
+ date: 2015-03-14 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: nokogiri
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
- - - '>='
18
+ - - ">="
18
19
  - !ruby/object:Gem::Version
19
20
  version: 1.4.1
20
21
  type: :runtime
21
22
  prerelease: false
22
23
  version_requirements: !ruby/object:Gem::Requirement
23
24
  requirements:
24
- - - '>='
25
+ - - ">="
25
26
  - !ruby/object:Gem::Version
26
27
  version: 1.4.1
27
28
  - !ruby/object:Gem::Dependency
28
29
  name: rubyzip
29
30
  requirement: !ruby/object:Gem::Requirement
30
31
  requirements:
31
- - - ~>
32
+ - - "~>"
32
33
  - !ruby/object:Gem::Version
33
- version: 1.0.0
34
+ version: 1.1.7
34
35
  type: :runtime
35
36
  prerelease: false
36
37
  version_requirements: !ruby/object:Gem::Requirement
37
38
  requirements:
38
- - - ~>
39
+ - - "~>"
39
40
  - !ruby/object:Gem::Version
40
- version: 1.0.0
41
+ version: 1.1.7
41
42
  - !ruby/object:Gem::Dependency
42
43
  name: htmlentities
43
44
  requirement: !ruby/object:Gem::Requirement
44
45
  requirements:
45
- - - ~>
46
+ - - "~>"
46
47
  - !ruby/object:Gem::Version
47
48
  version: 4.3.1
48
49
  type: :runtime
49
50
  prerelease: false
50
51
  version_requirements: !ruby/object:Gem::Requirement
51
52
  requirements:
52
- - - ~>
53
+ - - "~>"
53
54
  - !ruby/object:Gem::Version
54
55
  version: 4.3.1
55
56
  - !ruby/object:Gem::Dependency
56
57
  name: yard
57
58
  requirement: !ruby/object:Gem::Requirement
58
59
  requirements:
59
- - - '>='
60
+ - - ">="
60
61
  - !ruby/object:Gem::Version
61
62
  version: '0'
62
63
  type: :development
63
64
  prerelease: false
64
65
  version_requirements: !ruby/object:Gem::Requirement
65
66
  requirements:
66
- - - '>='
67
+ - - ">="
67
68
  - !ruby/object:Gem::Version
68
69
  version: '0'
69
70
  - !ruby/object:Gem::Dependency
70
71
  name: kramdown
71
72
  requirement: !ruby/object:Gem::Requirement
72
73
  requirements:
73
- - - '>='
74
+ - - ">="
74
75
  - !ruby/object:Gem::Version
75
76
  version: '0'
76
77
  type: :development
77
78
  prerelease: false
78
79
  version_requirements: !ruby/object:Gem::Requirement
79
80
  requirements:
80
- - - '>='
81
+ - - ">="
81
82
  - !ruby/object:Gem::Version
82
83
  version: '0'
83
84
  - !ruby/object:Gem::Dependency
84
85
  name: timecop
85
86
  requirement: !ruby/object:Gem::Requirement
86
87
  requirements:
87
- - - ~>
88
+ - - "~>"
88
89
  - !ruby/object:Gem::Version
89
90
  version: 0.6.1
90
91
  type: :development
91
92
  prerelease: false
92
93
  version_requirements: !ruby/object:Gem::Requirement
93
94
  requirements:
94
- - - ~>
95
+ - - "~>"
95
96
  - !ruby/object:Gem::Version
96
97
  version: 0.6.1
97
- description: |2
98
- xlsx spreadsheet generation with charts, images, automated column width, customizable styles and full schema validation. Axlsx helps you create beautiful Office Open XML Spreadsheet documents ( Excel, Google Spreadsheets, Numbers, LibreOffice) without having to understand the entire ECMA specification. Check out the README for some examples of how easy it is. Best of all, you can validate your xlsx file before serialization so you know for sure that anything generated is going to load on your client's machine.
98
+ description: " xlsx spreadsheet generation with charts, images, automated column
99
+ width, customizable styles and full schema validation. Axlsx helps you create beautiful
100
+ Office Open XML Spreadsheet documents ( Excel, Google Spreadsheets, Numbers, LibreOffice)
101
+ without having to understand the entire ECMA specification. Check out the README
102
+ for some examples of how easy it is. Best of all, you can validate your xlsx file
103
+ before serialization so you know for sure that anything generated is going to load
104
+ on your client's machine.\n"
99
105
  email: digital.ipseity@gmail.com
100
106
  executables: []
101
107
  extensions: []
102
108
  extra_rdoc_files: []
103
109
  files:
110
+ - ".yardopts"
111
+ - ".yardopts_guide"
112
+ - CHANGELOG.md
113
+ - LICENSE
114
+ - README.md
115
+ - Rakefile
116
+ - examples/2010_comments.rb
117
+ - examples/IMAGE1UP.JPEG
118
+ - examples/anchor_swapping.rb
119
+ - examples/auto_filter.rb
120
+ - examples/basic_charts.rb
121
+ - examples/chart_colors.rb
122
+ - examples/colored_links.rb
123
+ - examples/conditional_formatting/example_conditional_formatting.rb
124
+ - examples/conditional_formatting/getting_barred.rb
125
+ - examples/conditional_formatting/hitting_the_high_notes.rb
126
+ - examples/conditional_formatting/scaled_colors.rb
127
+ - examples/conditional_formatting/stop_and_go.rb
128
+ - examples/data_validation.rb
129
+ - examples/example.rb
130
+ - examples/extractive.rb
131
+ - examples/image1.jpeg
132
+ - examples/ios_preview.rb
133
+ - examples/merge_cells.rb
134
+ - examples/no_grid_with_borders.rb
135
+ - examples/page_setup.rb
136
+ - examples/pivot_table.rb
137
+ - examples/pivot_test.rb
138
+ - examples/sheet_protection.rb
139
+ - examples/skydrive/real_example.rb
140
+ - examples/split.rb
141
+ - examples/styles.rb
142
+ - examples/underline.rb
143
+ - examples/wrap_text.rb
144
+ - lib/axlsx.rb
104
145
  - lib/axlsx/content_type/abstract_content_type.rb
105
146
  - lib/axlsx/content_type/content_type.rb
106
147
  - lib/axlsx/content_type/default.rb
@@ -112,6 +153,8 @@ files:
112
153
  - lib/axlsx/drawing/axis.rb
113
154
  - lib/axlsx/drawing/bar_3D_chart.rb
114
155
  - lib/axlsx/drawing/bar_series.rb
156
+ - lib/axlsx/drawing/bubble_chart.rb
157
+ - lib/axlsx/drawing/bubble_series.rb
115
158
  - lib/axlsx/drawing/cat_axis.rb
116
159
  - lib/axlsx/drawing/chart.rb
117
160
  - lib/axlsx/drawing/d_lbls.rb
@@ -172,12 +215,15 @@ files:
172
215
  - lib/axlsx/util/serialized_attributes.rb
173
216
  - lib/axlsx/util/simple_typed_list.rb
174
217
  - lib/axlsx/util/storage.rb
218
+ - lib/axlsx/util/string.rb
175
219
  - lib/axlsx/util/validators.rb
176
220
  - lib/axlsx/version.rb
177
221
  - lib/axlsx/workbook/defined_name.rb
178
222
  - lib/axlsx/workbook/defined_names.rb
179
223
  - lib/axlsx/workbook/shared_strings_table.rb
180
224
  - lib/axlsx/workbook/workbook.rb
225
+ - lib/axlsx/workbook/workbook_view.rb
226
+ - lib/axlsx/workbook/workbook_views.rb
181
227
  - lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb
182
228
  - lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb
183
229
  - lib/axlsx/workbook/worksheet/auto_filter/filters.rb
@@ -213,6 +259,8 @@ files:
213
259
  - lib/axlsx/workbook/worksheet/print_options.rb
214
260
  - lib/axlsx/workbook/worksheet/protected_range.rb
215
261
  - lib/axlsx/workbook/worksheet/protected_ranges.rb
262
+ - lib/axlsx/workbook/worksheet/rich_text.rb
263
+ - lib/axlsx/workbook/worksheet/rich_text_run.rb
216
264
  - lib/axlsx/workbook/worksheet/row.rb
217
265
  - lib/axlsx/workbook/worksheet/row_breaks.rb
218
266
  - lib/axlsx/workbook/worksheet/selection.rb
@@ -230,7 +278,6 @@ files:
230
278
  - lib/axlsx/workbook/worksheet/worksheet_drawing.rb
231
279
  - lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb
232
280
  - lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb
233
- - lib/axlsx.rb
234
281
  - lib/schema/dc.xsd
235
282
  - lib/schema/dcmitype.xsd
236
283
  - lib/schema/dcterms.xsd
@@ -266,36 +313,6 @@ files:
266
313
  - lib/schema/vml-wordprocessingDrawing.xsd
267
314
  - lib/schema/wml.xsd
268
315
  - lib/schema/xml.xsd
269
- - examples/2010_comments.rb
270
- - examples/anchor_swapping.rb
271
- - examples/auto_filter.rb
272
- - examples/basic_charts.rb
273
- - examples/chart_colors.rb
274
- - examples/colored_links.rb
275
- - examples/conditional_formatting/example_conditional_formatting.rb
276
- - examples/conditional_formatting/getting_barred.rb
277
- - examples/conditional_formatting/hitting_the_high_notes.rb
278
- - examples/conditional_formatting/scaled_colors.rb
279
- - examples/conditional_formatting/stop_and_go.rb
280
- - examples/data_validation.rb
281
- - examples/example.rb
282
- - examples/extractive.rb
283
- - examples/ios_preview.rb
284
- - examples/page_setup.rb
285
- - examples/pivot_table.rb
286
- - examples/sheet_protection.rb
287
- - examples/skydrive/real_example.rb
288
- - examples/styles.rb
289
- - examples/underline.rb
290
- - examples/wrap_text.rb
291
- - examples/image1.jpeg
292
- - LICENSE
293
- - README.md
294
- - Rakefile
295
- - CHANGELOG.md
296
- - .yardopts
297
- - .yardopts_guide
298
- - test/axlsx.qcachegrind
299
316
  - test/benchmark.rb
300
317
  - test/content_type/tc_content_type.rb
301
318
  - test/content_type/tc_default.rb
@@ -306,6 +323,8 @@ files:
306
323
  - test/drawing/tc_axis.rb
307
324
  - test/drawing/tc_bar_3D_chart.rb
308
325
  - test/drawing/tc_bar_series.rb
326
+ - test/drawing/tc_bubble_chart.rb
327
+ - test/drawing/tc_bubble_series.rb
309
328
  - test/drawing/tc_cat_axis.rb
310
329
  - test/drawing/tc_cat_axis_data.rb
311
330
  - test/drawing/tc_chart.rb
@@ -370,6 +389,7 @@ files:
370
389
  - test/workbook/tc_defined_name.rb
371
390
  - test/workbook/tc_shared_strings_table.rb
372
391
  - test/workbook/tc_workbook.rb
392
+ - test/workbook/tc_workbook_view.rb
373
393
  - test/workbook/worksheet/auto_filter/tc_auto_filter.rb
374
394
  - test/workbook/worksheet/auto_filter/tc_filter_column.rb
375
395
  - test/workbook/worksheet/auto_filter/tc_filters.rb
@@ -394,6 +414,8 @@ files:
394
414
  - test/workbook/worksheet/tc_pivot_table_cache_definition.rb
395
415
  - test/workbook/worksheet/tc_print_options.rb
396
416
  - test/workbook/worksheet/tc_protected_range.rb
417
+ - test/workbook/worksheet/tc_rich_text.rb
418
+ - test/workbook/worksheet/tc_rich_text_run.rb
397
419
  - test/workbook/worksheet/tc_row.rb
398
420
  - test/workbook/worksheet/tc_selection.rb
399
421
  - test/workbook/worksheet/tc_sheet_calc_pr.rb
@@ -415,22 +437,21 @@ require_paths:
415
437
  - lib
416
438
  required_ruby_version: !ruby/object:Gem::Requirement
417
439
  requirements:
418
- - - '>='
440
+ - - ">="
419
441
  - !ruby/object:Gem::Version
420
442
  version: 1.9.2
421
443
  required_rubygems_version: !ruby/object:Gem::Requirement
422
444
  requirements:
423
- - - '>='
445
+ - - ">"
424
446
  - !ruby/object:Gem::Version
425
- version: '0'
447
+ version: 1.3.1
426
448
  requirements: []
427
449
  rubyforge_project:
428
- rubygems_version: 2.0.2
450
+ rubygems_version: 2.4.5
429
451
  signing_key:
430
452
  specification_version: 4
431
- summary: excel OOXML (xlsx) with charts, styles, images and autowidth columns.
453
+ summary: Excel OOXML (xlsx) with charts, styles, images and autowidth columns.
432
454
  test_files:
433
- - test/axlsx.qcachegrind
434
455
  - test/benchmark.rb
435
456
  - test/content_type/tc_content_type.rb
436
457
  - test/content_type/tc_default.rb
@@ -441,6 +462,8 @@ test_files:
441
462
  - test/drawing/tc_axis.rb
442
463
  - test/drawing/tc_bar_3D_chart.rb
443
464
  - test/drawing/tc_bar_series.rb
465
+ - test/drawing/tc_bubble_chart.rb
466
+ - test/drawing/tc_bubble_series.rb
444
467
  - test/drawing/tc_cat_axis.rb
445
468
  - test/drawing/tc_cat_axis_data.rb
446
469
  - test/drawing/tc_chart.rb
@@ -505,6 +528,7 @@ test_files:
505
528
  - test/workbook/tc_defined_name.rb
506
529
  - test/workbook/tc_shared_strings_table.rb
507
530
  - test/workbook/tc_workbook.rb
531
+ - test/workbook/tc_workbook_view.rb
508
532
  - test/workbook/worksheet/auto_filter/tc_auto_filter.rb
509
533
  - test/workbook/worksheet/auto_filter/tc_filter_column.rb
510
534
  - test/workbook/worksheet/auto_filter/tc_filters.rb
@@ -529,6 +553,8 @@ test_files:
529
553
  - test/workbook/worksheet/tc_pivot_table_cache_definition.rb
530
554
  - test/workbook/worksheet/tc_print_options.rb
531
555
  - test/workbook/worksheet/tc_protected_range.rb
556
+ - test/workbook/worksheet/tc_rich_text.rb
557
+ - test/workbook/worksheet/tc_rich_text_run.rb
532
558
  - test/workbook/worksheet/tc_row.rb
533
559
  - test/workbook/worksheet/tc_selection.rb
534
560
  - test/workbook/worksheet/tc_sheet_calc_pr.rb