caxlsx 3.0.2 → 3.1.1

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 (73) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +31 -8
  3. data/README.md +4 -0
  4. data/examples/{image1.jpeg → assets/image1.jpeg} +0 -0
  5. data/examples/generate.rb +15 -0
  6. data/lib/axlsx/drawing/bar_3D_chart.rb +5 -8
  7. data/lib/axlsx/drawing/bar_chart.rb +13 -18
  8. data/lib/axlsx/drawing/bar_series.rb +18 -1
  9. data/lib/axlsx/drawing/pie_series.rb +1 -1
  10. data/lib/axlsx/package.rb +44 -6
  11. data/lib/axlsx/util/constants.rb +2 -1
  12. data/lib/axlsx/util/mime_type_utils.rb +1 -1
  13. data/lib/axlsx/util/validators.rb +1 -1
  14. data/lib/axlsx/util/zip_command.rb +73 -0
  15. data/lib/axlsx/version.rb +1 -1
  16. data/lib/axlsx/workbook/worksheet/cell.rb +9 -3
  17. data/lib/axlsx/workbook/worksheet/data_validation.rb +4 -4
  18. data/lib/axlsx/workbook/worksheet/pivot_table.rb +7 -2
  19. data/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb +1 -1
  20. data/lib/axlsx/workbook/worksheet/row.rb +6 -4
  21. data/lib/axlsx/workbook/worksheet/table.rb +1 -1
  22. data/lib/axlsx/workbook/worksheet/worksheet.rb +7 -1
  23. data/lib/axlsx.rb +7 -5
  24. data/test/drawing/tc_bar_3D_chart.rb +26 -11
  25. data/test/drawing/tc_bar_chart.rb +26 -11
  26. data/test/drawing/tc_bar_series.rb +10 -1
  27. data/test/drawing/tc_drawing.rb +2 -2
  28. data/test/drawing/tc_hyperlink.rb +1 -1
  29. data/test/drawing/tc_one_cell_anchor.rb +1 -1
  30. data/test/drawing/tc_pic.rb +4 -4
  31. data/test/drawing/tc_pie_series.rb +2 -1
  32. data/test/fixtures/image1.gif +0 -0
  33. data/test/fixtures/image1.jpeg +0 -0
  34. data/test/fixtures/image1.jpg +0 -0
  35. data/test/fixtures/image1.png +0 -0
  36. data/test/fixtures/image1_fake.jpg +0 -0
  37. data/test/tc_helper.rb +0 -2
  38. data/test/tc_package.rb +80 -13
  39. data/test/util/tc_mime_type_utils.rb +1 -1
  40. data/test/util/tc_validators.rb +1 -1
  41. data/test/workbook/worksheet/tc_cell.rb +38 -0
  42. data/test/workbook/worksheet/tc_pivot_table.rb +8 -0
  43. data/test/workbook/worksheet/tc_pivot_table_cache_definition.rb +8 -0
  44. data/test/workbook/worksheet/tc_row.rb +21 -0
  45. data/test/workbook/worksheet/tc_table.rb +10 -0
  46. data/test/workbook/worksheet/tc_worksheet.rb +16 -18
  47. metadata +116 -137
  48. data/examples/2010_comments.rb +0 -17
  49. data/examples/anchor_swapping.rb +0 -28
  50. data/examples/auto_filter.rb +0 -25
  51. data/examples/basic_charts.rb +0 -58
  52. data/examples/chart_colors.rb +0 -88
  53. data/examples/colored_links.rb +0 -45
  54. data/examples/conditional_formatting/example_conditional_formatting.rb +0 -89
  55. data/examples/conditional_formatting/getting_barred.rb +0 -37
  56. data/examples/conditional_formatting/hitting_the_high_notes.rb +0 -37
  57. data/examples/conditional_formatting/scaled_colors.rb +0 -39
  58. data/examples/conditional_formatting/stop_and_go.rb +0 -37
  59. data/examples/data_validation.rb +0 -67
  60. data/examples/example.rb +0 -900
  61. data/examples/extractive.rb +0 -45
  62. data/examples/ios_preview.rb +0 -14
  63. data/examples/merge_cells.rb +0 -17
  64. data/examples/no_grid_with_borders.rb +0 -18
  65. data/examples/page_setup.rb +0 -11
  66. data/examples/pivot_table.rb +0 -39
  67. data/examples/pivot_test.rb +0 -63
  68. data/examples/sheet_protection.rb +0 -10
  69. data/examples/skydrive/real_example.rb +0 -63
  70. data/examples/split.rb +0 -16
  71. data/examples/styles.rb +0 -66
  72. data/examples/underline.rb +0 -13
  73. data/examples/wrap_text.rb +0 -21
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: caxlsx
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.2
4
+ version: 3.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Randy Morgan
8
8
  - Jurriaan Pruis
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-07-16 00:00:00.000000000 Z
12
+ date: 2021-09-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
@@ -72,19 +72,19 @@ dependencies:
72
72
  - !ruby/object:Gem::Version
73
73
  version: 4.3.4
74
74
  - !ruby/object:Gem::Dependency
75
- name: mimemagic
75
+ name: marcel
76
76
  requirement: !ruby/object:Gem::Requirement
77
77
  requirements:
78
78
  - - "~>"
79
79
  - !ruby/object:Gem::Version
80
- version: '0.3'
80
+ version: '1.0'
81
81
  type: :runtime
82
82
  prerelease: false
83
83
  version_requirements: !ruby/object:Gem::Requirement
84
84
  requirements:
85
85
  - - "~>"
86
86
  - !ruby/object:Gem::Version
87
- version: '0.3'
87
+ version: '1.0'
88
88
  - !ruby/object:Gem::Dependency
89
89
  name: yard
90
90
  requirement: !ruby/object:Gem::Requirement
@@ -105,20 +105,14 @@ dependencies:
105
105
  requirements:
106
106
  - - "~>"
107
107
  - !ruby/object:Gem::Version
108
- version: '1.16'
109
- - - ">="
110
- - !ruby/object:Gem::Version
111
- version: 1.16.2
108
+ version: '2.3'
112
109
  type: :development
113
110
  prerelease: false
114
111
  version_requirements: !ruby/object:Gem::Requirement
115
112
  requirements:
116
113
  - - "~>"
117
114
  - !ruby/object:Gem::Version
118
- version: '1.16'
119
- - - ">="
120
- - !ruby/object:Gem::Version
121
- version: 1.16.2
115
+ version: '2.3'
122
116
  - !ruby/object:Gem::Dependency
123
117
  name: timecop
124
118
  requirement: !ruby/object:Gem::Requirement
@@ -151,33 +145,8 @@ files:
151
145
  - LICENSE
152
146
  - README.md
153
147
  - Rakefile
154
- - examples/2010_comments.rb
155
- - examples/anchor_swapping.rb
156
- - examples/auto_filter.rb
157
- - examples/basic_charts.rb
158
- - examples/chart_colors.rb
159
- - examples/colored_links.rb
160
- - examples/conditional_formatting/example_conditional_formatting.rb
161
- - examples/conditional_formatting/getting_barred.rb
162
- - examples/conditional_formatting/hitting_the_high_notes.rb
163
- - examples/conditional_formatting/scaled_colors.rb
164
- - examples/conditional_formatting/stop_and_go.rb
165
- - examples/data_validation.rb
166
- - examples/example.rb
167
- - examples/extractive.rb
168
- - examples/image1.jpeg
169
- - examples/ios_preview.rb
170
- - examples/merge_cells.rb
171
- - examples/no_grid_with_borders.rb
172
- - examples/page_setup.rb
173
- - examples/pivot_table.rb
174
- - examples/pivot_test.rb
175
- - examples/sheet_protection.rb
176
- - examples/skydrive/real_example.rb
177
- - examples/split.rb
178
- - examples/styles.rb
179
- - examples/underline.rb
180
- - examples/wrap_text.rb
148
+ - examples/assets/image1.jpeg
149
+ - examples/generate.rb
181
150
  - lib/axlsx.rb
182
151
  - lib/axlsx/content_type/abstract_content_type.rb
183
152
  - lib/axlsx/content_type/content_type.rb
@@ -256,6 +225,7 @@ files:
256
225
  - lib/axlsx/util/simple_typed_list.rb
257
226
  - lib/axlsx/util/storage.rb
258
227
  - lib/axlsx/util/validators.rb
228
+ - lib/axlsx/util/zip_command.rb
259
229
  - lib/axlsx/version.rb
260
230
  - lib/axlsx/workbook/defined_name.rb
261
231
  - lib/axlsx/workbook/defined_names.rb
@@ -403,6 +373,11 @@ files:
403
373
  - test/drawing/tc_view_3D.rb
404
374
  - test/drawing/tc_vml_drawing.rb
405
375
  - test/drawing/tc_vml_shape.rb
376
+ - test/fixtures/image1.gif
377
+ - test/fixtures/image1.jpeg
378
+ - test/fixtures/image1.jpg
379
+ - test/fixtures/image1.png
380
+ - test/fixtures/image1_fake.jpg
406
381
  - test/profile.rb
407
382
  - test/rels/tc_relationship.rb
408
383
  - test/rels/tc_relationships.rb
@@ -477,13 +452,13 @@ homepage: https://github.com/caxlsx/caxlsx
477
452
  licenses:
478
453
  - MIT
479
454
  metadata: {}
480
- post_install_message:
455
+ post_install_message:
481
456
  rdoc_options: []
482
457
  require_paths:
483
458
  - lib
484
459
  required_ruby_version: !ruby/object:Gem::Requirement
485
460
  requirements:
486
- - - "~>"
461
+ - - ">="
487
462
  - !ruby/object:Gem::Version
488
463
  version: '2.3'
489
464
  required_rubygems_version: !ruby/object:Gem::Requirement
@@ -492,128 +467,132 @@ required_rubygems_version: !ruby/object:Gem::Requirement
492
467
  - !ruby/object:Gem::Version
493
468
  version: '0'
494
469
  requirements: []
495
- rubyforge_project:
496
- rubygems_version: 2.6.12
497
- signing_key:
470
+ rubygems_version: 3.0.9
471
+ signing_key:
498
472
  specification_version: 4
499
473
  summary: Excel OOXML (xlsx) with charts, styles, images and autowidth columns.
500
474
  test_files:
501
- - test/benchmark.rb
502
- - test/content_type/tc_content_type.rb
503
- - test/content_type/tc_default.rb
504
- - test/content_type/tc_override.rb
505
- - test/doc_props/tc_app.rb
506
- - test/doc_props/tc_core.rb
507
- - test/drawing/tc_area_chart.rb
508
- - test/drawing/tc_area_series.rb
509
- - test/drawing/tc_axes.rb
510
- - test/drawing/tc_axis.rb
511
- - test/drawing/tc_bar_3D_chart.rb
512
- - test/drawing/tc_bar_chart.rb
513
- - test/drawing/tc_bar_series.rb
514
- - test/drawing/tc_bubble_chart.rb
515
- - test/drawing/tc_bubble_series.rb
475
+ - test/drawing/tc_num_data.rb
476
+ - test/drawing/tc_two_cell_anchor.rb
477
+ - test/drawing/tc_view_3D.rb
478
+ - test/drawing/tc_series_title.rb
516
479
  - test/drawing/tc_cat_axis.rb
517
- - test/drawing/tc_cat_axis_data.rb
518
480
  - test/drawing/tc_chart.rb
481
+ - test/drawing/tc_num_val.rb
482
+ - test/drawing/tc_axis.rb
483
+ - test/drawing/tc_line_chart.rb
484
+ - test/drawing/tc_marker.rb
485
+ - test/drawing/tc_bubble_series.rb
519
486
  - test/drawing/tc_d_lbls.rb
520
- - test/drawing/tc_data_source.rb
521
- - test/drawing/tc_drawing.rb
522
- - test/drawing/tc_graphic_frame.rb
523
- - test/drawing/tc_hyperlink.rb
487
+ - test/drawing/tc_str_val.rb
488
+ - test/drawing/tc_bar_chart.rb
524
489
  - test/drawing/tc_line_3d_chart.rb
525
- - test/drawing/tc_line_chart.rb
490
+ - test/drawing/tc_cat_axis_data.rb
491
+ - test/drawing/tc_area_chart.rb
526
492
  - test/drawing/tc_line_series.rb
527
- - test/drawing/tc_marker.rb
528
- - test/drawing/tc_named_axis_data.rb
529
- - test/drawing/tc_num_data.rb
530
- - test/drawing/tc_num_val.rb
531
- - test/drawing/tc_one_cell_anchor.rb
493
+ - test/drawing/tc_scatter_series.rb
494
+ - test/drawing/tc_bar_series.rb
495
+ - test/drawing/tc_hyperlink.rb
532
496
  - test/drawing/tc_pic.rb
533
- - test/drawing/tc_picture_locking.rb
534
- - test/drawing/tc_pie_3D_chart.rb
535
- - test/drawing/tc_pie_series.rb
536
- - test/drawing/tc_scaling.rb
497
+ - test/drawing/tc_named_axis_data.rb
498
+ - test/drawing/tc_bubble_chart.rb
499
+ - test/drawing/tc_str_data.rb
500
+ - test/drawing/tc_drawing.rb
537
501
  - test/drawing/tc_scatter_chart.rb
538
- - test/drawing/tc_scatter_series.rb
539
- - test/drawing/tc_ser_axis.rb
540
502
  - test/drawing/tc_series.rb
541
- - test/drawing/tc_series_title.rb
542
- - test/drawing/tc_str_data.rb
543
- - test/drawing/tc_str_val.rb
544
503
  - test/drawing/tc_title.rb
545
- - test/drawing/tc_two_cell_anchor.rb
546
- - test/drawing/tc_val_axis.rb
547
- - test/drawing/tc_view_3D.rb
548
- - test/drawing/tc_vml_drawing.rb
504
+ - test/drawing/tc_ser_axis.rb
505
+ - test/drawing/tc_picture_locking.rb
506
+ - test/drawing/tc_pie_series.rb
549
507
  - test/drawing/tc_vml_shape.rb
550
- - test/profile.rb
551
- - test/rels/tc_relationship.rb
552
- - test/rels/tc_relationships.rb
508
+ - test/drawing/tc_axes.rb
509
+ - test/drawing/tc_vml_drawing.rb
510
+ - test/drawing/tc_pie_3D_chart.rb
511
+ - test/drawing/tc_area_series.rb
512
+ - test/drawing/tc_graphic_frame.rb
513
+ - test/drawing/tc_one_cell_anchor.rb
514
+ - test/drawing/tc_data_source.rb
515
+ - test/drawing/tc_val_axis.rb
516
+ - test/drawing/tc_scaling.rb
517
+ - test/drawing/tc_bar_3D_chart.rb
518
+ - test/util/tc_simple_typed_list.rb
519
+ - test/util/tc_mime_type_utils.rb
520
+ - test/util/tc_validators.rb
521
+ - test/util/tc_serialized_attributes.rb
522
+ - test/tc_axlsx.rb
523
+ - test/stylesheet/tc_fill.rb
553
524
  - test/stylesheet/tc_border.rb
525
+ - test/stylesheet/tc_gradient_stop.rb
526
+ - test/stylesheet/tc_gradient_fill.rb
527
+ - test/stylesheet/tc_table_style.rb
528
+ - test/stylesheet/tc_font.rb
529
+ - test/stylesheet/tc_pattern_fill.rb
530
+ - test/stylesheet/tc_color.rb
531
+ - test/stylesheet/tc_num_fmt.rb
532
+ - test/stylesheet/tc_styles.rb
554
533
  - test/stylesheet/tc_border_pr.rb
555
- - test/stylesheet/tc_cell_alignment.rb
556
534
  - test/stylesheet/tc_cell_protection.rb
535
+ - test/stylesheet/tc_xf.rb
557
536
  - test/stylesheet/tc_cell_style.rb
558
- - test/stylesheet/tc_color.rb
537
+ - test/stylesheet/tc_table_styles.rb
559
538
  - test/stylesheet/tc_dxf.rb
560
- - test/stylesheet/tc_fill.rb
561
- - test/stylesheet/tc_font.rb
562
- - test/stylesheet/tc_gradient_fill.rb
563
- - test/stylesheet/tc_gradient_stop.rb
564
- - test/stylesheet/tc_num_fmt.rb
565
- - test/stylesheet/tc_pattern_fill.rb
566
- - test/stylesheet/tc_styles.rb
567
- - test/stylesheet/tc_table_style.rb
568
539
  - test/stylesheet/tc_table_style_element.rb
569
- - test/stylesheet/tc_table_styles.rb
570
- - test/stylesheet/tc_xf.rb
571
- - test/tc_axlsx.rb
540
+ - test/stylesheet/tc_cell_alignment.rb
572
541
  - test/tc_helper.rb
542
+ - test/doc_props/tc_core.rb
543
+ - test/doc_props/tc_app.rb
544
+ - test/content_type/tc_override.rb
545
+ - test/content_type/tc_content_type.rb
546
+ - test/content_type/tc_default.rb
547
+ - test/rels/tc_relationship.rb
548
+ - test/rels/tc_relationships.rb
549
+ - test/profile.rb
550
+ - test/fixtures/image1_fake.jpg
551
+ - test/fixtures/image1.jpeg
552
+ - test/fixtures/image1.gif
553
+ - test/fixtures/image1.png
554
+ - test/fixtures/image1.jpg
555
+ - test/benchmark.rb
573
556
  - test/tc_package.rb
574
- - test/util/tc_mime_type_utils.rb
575
- - test/util/tc_serialized_attributes.rb
576
- - test/util/tc_simple_typed_list.rb
577
- - test/util/tc_validators.rb
578
- - test/workbook/tc_defined_name.rb
579
- - test/workbook/tc_shared_strings_table.rb
580
- - test/workbook/tc_workbook.rb
581
557
  - test/workbook/tc_workbook_view.rb
582
- - test/workbook/worksheet/auto_filter/tc_auto_filter.rb
583
- - test/workbook/worksheet/auto_filter/tc_filter_column.rb
584
- - test/workbook/worksheet/auto_filter/tc_filters.rb
585
- - test/workbook/worksheet/tc_break.rb
586
- - test/workbook/worksheet/tc_cell.rb
587
- - test/workbook/worksheet/tc_cfvo.rb
588
- - test/workbook/worksheet/tc_col.rb
589
- - test/workbook/worksheet/tc_color_scale.rb
590
- - test/workbook/worksheet/tc_comment.rb
591
- - test/workbook/worksheet/tc_comments.rb
592
- - test/workbook/worksheet/tc_conditional_formatting.rb
558
+ - test/workbook/tc_defined_name.rb
593
559
  - test/workbook/worksheet/tc_data_bar.rb
560
+ - test/workbook/worksheet/tc_worksheet_hyperlink.rb
594
561
  - test/workbook/worksheet/tc_data_validation.rb
595
- - test/workbook/worksheet/tc_date_time_converter.rb
596
- - test/workbook/worksheet/tc_header_footer.rb
597
- - test/workbook/worksheet/tc_icon_set.rb
598
- - test/workbook/worksheet/tc_outline_pr.rb
599
- - test/workbook/worksheet/tc_page_margins.rb
600
- - test/workbook/worksheet/tc_page_set_up_pr.rb
601
- - test/workbook/worksheet/tc_page_setup.rb
602
- - test/workbook/worksheet/tc_pane.rb
603
- - test/workbook/worksheet/tc_pivot_table.rb
604
562
  - test/workbook/worksheet/tc_pivot_table_cache_definition.rb
605
- - test/workbook/worksheet/tc_print_options.rb
606
563
  - test/workbook/worksheet/tc_protected_range.rb
607
- - test/workbook/worksheet/tc_rich_text.rb
608
- - test/workbook/worksheet/tc_rich_text_run.rb
609
- - test/workbook/worksheet/tc_row.rb
610
564
  - test/workbook/worksheet/tc_selection.rb
565
+ - test/workbook/worksheet/tc_rich_text.rb
566
+ - test/workbook/worksheet/tc_date_time_converter.rb
567
+ - test/workbook/worksheet/tc_table_style_info.rb
568
+ - test/workbook/worksheet/tc_conditional_formatting.rb
569
+ - test/workbook/worksheet/tc_page_setup.rb
570
+ - test/workbook/worksheet/tc_comments.rb
571
+ - test/workbook/worksheet/tc_sheet_view.rb
611
572
  - test/workbook/worksheet/tc_sheet_calc_pr.rb
612
- - test/workbook/worksheet/tc_sheet_format_pr.rb
573
+ - test/workbook/worksheet/tc_color_scale.rb
574
+ - test/workbook/worksheet/tc_worksheet.rb
575
+ - test/workbook/worksheet/tc_rich_text_run.rb
613
576
  - test/workbook/worksheet/tc_sheet_pr.rb
577
+ - test/workbook/worksheet/auto_filter/tc_filters.rb
578
+ - test/workbook/worksheet/auto_filter/tc_auto_filter.rb
579
+ - test/workbook/worksheet/auto_filter/tc_filter_column.rb
580
+ - test/workbook/worksheet/tc_cell.rb
614
581
  - test/workbook/worksheet/tc_sheet_protection.rb
615
- - test/workbook/worksheet/tc_sheet_view.rb
582
+ - test/workbook/worksheet/tc_pane.rb
583
+ - test/workbook/worksheet/tc_header_footer.rb
616
584
  - test/workbook/worksheet/tc_table.rb
617
- - test/workbook/worksheet/tc_table_style_info.rb
618
- - test/workbook/worksheet/tc_worksheet.rb
619
- - test/workbook/worksheet/tc_worksheet_hyperlink.rb
585
+ - test/workbook/worksheet/tc_page_margins.rb
586
+ - test/workbook/worksheet/tc_cfvo.rb
587
+ - test/workbook/worksheet/tc_col.rb
588
+ - test/workbook/worksheet/tc_pivot_table.rb
589
+ - test/workbook/worksheet/tc_break.rb
590
+ - test/workbook/worksheet/tc_sheet_format_pr.rb
591
+ - test/workbook/worksheet/tc_print_options.rb
592
+ - test/workbook/worksheet/tc_comment.rb
593
+ - test/workbook/worksheet/tc_outline_pr.rb
594
+ - test/workbook/worksheet/tc_row.rb
595
+ - test/workbook/worksheet/tc_icon_set.rb
596
+ - test/workbook/worksheet/tc_page_set_up_pr.rb
597
+ - test/workbook/tc_shared_strings_table.rb
598
+ - test/workbook/tc_workbook.rb
@@ -1,17 +0,0 @@
1
- #!/usr/bin/env ruby -w -s
2
- # -*- coding: utf-8 -*-
3
- $LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"
4
-
5
- #```ruby
6
- require 'axlsx'
7
- p = Axlsx::Package.new
8
- p.workbook.add_worksheet(:name => 'Excel 2010 comments') do |sheet|
9
- sheet.add_row ['Cell with visible comment']
10
- sheet.add_row
11
- sheet.add_row
12
- sheet.add_row ['Cell with hidden comment']
13
-
14
- sheet.add_comment :ref => 'A1', :author => 'XXX', :text => 'Visibile'
15
- sheet.add_comment :ref => 'A4', :author => 'XXX', :text => 'Hidden', :visible => false
16
- end
17
- p.serialize('excel_2010_comment_test.xlsx')
@@ -1,28 +0,0 @@
1
- $LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"
2
- require 'axlsx'
3
- xls = Axlsx::Package.new
4
- wb = xls.workbook
5
- wb.add_worksheet do |ws|
6
- img = File.expand_path('../image1.jpeg', __FILE__)
7
- ws.add_image(:image_src => img) do |image|
8
- image.start_at 2, 2
9
- image.end_at 5, 5
10
- end
11
- end
12
- wb.add_worksheet do |ws|
13
- img = File.expand_path('../image1.jpeg', __FILE__)
14
- ws.add_image(:image_src => img, :start_at => "B2") do |image|
15
- image.width = 70
16
- image.height = 50
17
- end
18
- end
19
- wb.add_worksheet do |ws|
20
- img = File.expand_path('../image1.jpeg', __FILE__)
21
- ws.add_image(:image_src => img, :start_at => [1,1]) do |image|
22
- image.end_at "E7"
23
- end
24
- end
25
-
26
-
27
-
28
- xls.serialize 'anchor.xlsx'
@@ -1,25 +0,0 @@
1
- #!/usr/bin/env ruby -w -s
2
- # -*- coding: utf-8 -*-
3
-
4
- $LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"
5
- require 'axlsx'
6
- Axlsx::Package.new do |p|
7
- p.workbook.add_worksheet(:name => "Table") do |sheet|
8
- sheet.add_row ["Build Matrix"]
9
- sheet.add_row ["Build", "Duration", "Finished", "Rvm"]
10
- sheet.add_row ["19.1", "1 min 32 sec", "about 10 hours ago", "1.8.7"]
11
- sheet.add_row ["19.2", "1 min 28 sec", "about 10 hours ago", "1.9.2"]
12
- sheet.add_row ["19.3", "1 min 35 sec", "about 10 hours ago", "1.9.3"]
13
- sheet.auto_filter = 'A2:D5'
14
- sheet.auto_filter.add_column 3, :filters, :filter_items => ['1.9.2']
15
- end
16
- p.workbook.add_worksheet(:name => "Table 2") do |sheet|
17
- sheet.add_row ["Build Matrix"]
18
- sheet.add_row ["Build", "Duration", "Finished", "Rvm"]
19
- sheet.add_row ["19.1", "1 min 32 sec", "about 10 hours ago", "1.8.7"]
20
- sheet.add_row ["19.2", "1 min 28 sec", "about 10 hours ago", "1.9.2"]
21
- sheet.add_row ["19.3", "1 min 35 sec", "about 10 hours ago", "1.9.3"]
22
- sheet.auto_filter = 'A2:D5'
23
- sheet.auto_filter.add_column 3, :filters, :filter_items => ['1.9.2']
24
- end
25
- end.serialize('auto_filter.xlsx')
@@ -1,58 +0,0 @@
1
- $LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"
2
- require 'axlsx'
3
- p = Axlsx::Package.new
4
- wb = p.workbook
5
-
6
- # Pie Chart
7
- wb.add_worksheet(:name => "Pie Chart") do |sheet|
8
- sheet.add_row ["First", "Second", "Third", "Fourth"]
9
- sheet.add_row [1, 2, 3, 4]
10
- sheet.add_chart(Axlsx::Pie3DChart, :start_at => [0,2], :end_at => [5, 15], :title=> 'dark corner here') do |chart|
11
- chart.add_series :data => sheet["A2:D2"], :labels => sheet["A1:D1"]
12
- chart.d_lbls.show_val = true
13
- chart.d_lbls.show_percent = true
14
- chart.d_lbls.d_lbl_pos = :outEnd
15
- chart.d_lbls.show_leader_lines = true
16
- end
17
- end
18
-
19
- # line chart
20
- wb.add_worksheet(:name => "Line Chart") do |sheet|
21
- sheet.add_row ['1', '2', '3', '4']
22
- sheet.add_row [1, 2, 3, '=sum(A2:C2)']
23
- sheet.add_chart(Axlsx::Line3DChart, :start_at => [0,2], :end_at => [5, 15], :title => "Chart") do |chart|
24
- chart.add_series :data => sheet["A2:D2"], :labels => sheet["A1:D1"], :title => 'bob'
25
- chart.d_lbls.show_val = true
26
- chart.d_lbls.show_cat_name = true
27
- chart.catAxis.tick_lbl_pos = :none
28
-
29
- end
30
- end
31
-
32
- # bar chart
33
- wb.add_worksheet(:name => "Bar Chart") do |sheet|
34
- sheet.add_row ["A Simple Bar Chart"]
35
- sheet.add_row ["First", "Second", "Third"]
36
- sheet.add_row [1, 2, 3]
37
- sheet.add_chart(Axlsx::Bar3DChart, :start_at => "A4", :end_at => "F17") do |chart|
38
- chart.add_series :data => sheet["A3:C3"], :labels => sheet["A2:C2"], :title => sheet["A1"]
39
- chart.valAxis.label_rotation = -45
40
- chart.catAxis.label_rotation = 45
41
- chart.d_lbls.d_lbl_pos = :outEnd
42
- chart.d_lbls.show_val = true
43
-
44
- chart.catAxis.tick_lbl_pos = :none
45
- end
46
- end
47
-
48
- # specifying colors and title
49
- wb.add_worksheet(:name => "Colored Pie Chart") do |sheet|
50
- sheet.add_row ["First", "Second", "Third", "Fourth"]
51
- sheet.add_row [1, 2, 3, "=PRODUCT(A2:C2)"]
52
- sheet.add_chart(Axlsx::Pie3DChart, :start_at => [0,2], :end_at => [5, 15], :title => "example 3: Pie Chart") do |chart|
53
- chart.add_series :data => sheet["A2:D2"], :labels => ["A1:D1"], :colors => ['FF0000', '00FF00', '0000FF']
54
- end
55
- end
56
-
57
- p.serialize('basic_charts.xlsx')
58
-
@@ -1,88 +0,0 @@
1
- #!/usr/bin/env ruby -w -s
2
- # -*- coding: utf-8 -*-
3
- $LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"
4
- require 'axlsx'
5
-
6
- p = Axlsx::Package.new
7
- wb = p.workbook
8
-
9
- ##Generating A Bar Chart
10
-
11
- wb.add_worksheet(:name => "Bar Chart") do |sheet|
12
- sheet.add_row ["A Simple Bar Chart"]
13
- sheet.add_row ["First", "Second", "Third"]
14
- sheet.add_row [1,2,3.5]
15
- sheet.add_chart(Axlsx::Bar3DChart, :start_at => "A4", :end_at => "F17", :title => sheet["A1"]) do |chart|
16
- chart.add_series :data => sheet["A3:C3"], :labels => sheet["A2:C2"], :colors => ['FF0000', '00FF00', '0000FF'], :color => "000000"
17
- chart.valAxis.label_rotation = -45
18
- chart.catAxis.label_rotation = 45
19
- end
20
- end
21
-
22
- ##Generating A Bar Chart without data in the sheet
23
-
24
- wb.add_worksheet(:name => "Hard Bar Chart") do |sheet|
25
- sheet.add_chart(Axlsx::Bar3DChart, :start_at => "A4", :end_at => "F17", :title => "hard code chart") do |chart|
26
- chart.add_series :data => [1,3,5], :labels => ['a', 'b', 'c'], :colors => ['FF0000', '00FF00', '0000FF']
27
- chart.valAxis.label_rotation = -45
28
- chart.catAxis.label_rotation = 45
29
- end
30
- end
31
-
32
-
33
- ##Generating A Pie Chart
34
-
35
- wb.add_worksheet(:name => "Pie Chart") do |sheet|
36
- sheet.add_row ["First", "Second", "Third", "Fourth"]
37
- sheet.add_row [1, 2, 3, "=PRODUCT(A2:C2)"]
38
- sheet.add_chart(Axlsx::Pie3DChart, :start_at => [0,2], :end_at => [5, 15], :title => "example 3: Pie Chart") do |chart|
39
- chart.add_series :data => sheet["A2:D2"], :labels => sheet["A1:D1"], :colors => ['FF0000', '00FF00', '0000FF', '000000']
40
- end
41
- end
42
-
43
- # Line Chart
44
-
45
- wb.add_worksheet(:name => "Line Chart") do |sheet|
46
- sheet.add_row ["First", 1, 5, 7, 9]
47
- sheet.add_row ["Second", 5, 2, 14, 9]
48
- sheet.add_chart(Axlsx::Line3DChart, :title => "example 6: Line Chart", :rotX => 30, :rotY => 30) do |chart|
49
- chart.start_at 0, 2
50
- chart.end_at 10, 15
51
- chart.add_series :data => sheet["B1:E1"], :title => sheet["A1"], :color => "FF0000"
52
- chart.add_series :data => sheet["B2:E2"], :title => sheet["A2"], :color => "00FF00"
53
- end
54
- end
55
-
56
- wb.add_worksheet(:name => 'Line Chart with Axis colors') do |sheet|
57
- sheet.add_row ["First", 1, 5, 7, 9]
58
- sheet.add_row ["Second", 5, 2, 14, 9]
59
- sheet.add_chart(Axlsx::Line3DChart, :title => "example 7: Flat Line Chart", :rot_x => 0, :perspective => 0) do |chart|
60
- chart.valAxis.color = "FFFF00"
61
- chart.catAxis.color = "00FFFF"
62
- chart.serAxis.delete = true
63
- chart.start_at 0, 2
64
- chart.end_at 10, 15
65
- chart.add_series :data => sheet["B1:E1"], :title => sheet["A1"], :color => "FF0000"
66
- chart.add_series :data => sheet["B2:E2"], :title => sheet["A2"], :color => "00FF00"
67
- end
68
-
69
- end
70
-
71
- ##Generating A Scatter Chart
72
-
73
- wb.add_worksheet(:name => "Scatter Chart") do |sheet|
74
- sheet.add_row ["First", 1, 5, 7, 9]
75
- sheet.add_row ["", 1, 25, 49, 81]
76
- sheet.add_row ["Second", 5, 2, 14, 9]
77
- sheet.add_row ["", 5, 10, 15, 20]
78
- sheet.add_chart(Axlsx::ScatterChart, :title => "example 7: Scatter Chart") do |chart|
79
- chart.start_at 0, 4
80
- chart.end_at 10, 19
81
- chart.add_series :xData => sheet["B1:E1"], :yData => sheet["B2:E2"], :title => sheet["A1"], :color => '00FF00'
82
- chart.add_series :xData => sheet["B3:E3"], :yData => sheet["B4:E4"], :title => sheet["A3"], :color => 'FF0000'
83
- end
84
- end
85
-
86
-
87
- p.validate.each { |e| puts e.message }
88
- p.serialize 'chart_colors.xlsx'
@@ -1,45 +0,0 @@
1
- require 'axlsx'
2
-
3
- p = Axlsx::Package.new
4
- wb = p.workbook
5
-
6
- # Each style only needs to be declared once in the workbook.
7
- s = wb.styles
8
- title_cell = s.add_style sz: 14, alignment: { horizontal: :center }
9
- black_cell = s.add_style sz: 10, alignment: { horizontal: :center }
10
- blue_link = s.add_style fg_color: '0000FF'
11
-
12
- # Create summary sheet
13
- sum_sheet = wb.add_worksheet name: 'Summary'
14
- sum_sheet.add_row ['Test Results'], sz: 16
15
- sum_sheet.add_row
16
- sum_sheet.add_row
17
- sum_sheet.add_row ['Note: Blue cells below are links to the Log sheet'], sz: 10
18
- sum_sheet.add_row
19
- sum_sheet.add_row ['ID', 'Type', 'Match', 'Mismatch', 'Diffs', 'Errors', 'Result'], style: title_cell
20
-
21
- sum_sheet.column_widths 10, 10, 1 0, 11, 10, 10, 10
22
-
23
- # Starting data row in summary spreadsheet (after header info)
24
- current_row = 7
25
-
26
- # Create Log Sheet
27
- log_sheet = wb.add_worksheet name: 'Log'
28
- log_sheet.column_widths 10
29
- log_sheet.add_row ['Log Detail'], sz: 16
30
- log_sheet.add_row
31
-
32
- # Add rows to summary sheet
33
- (1..10).each do |sid|
34
- sum_sheet.add_row [sid, 'test', '1', '2', '3', '4', '5'], style: black_cell
35
-
36
- if sid.odd?
37
- link = "A#{current_row}"
38
- sum_sheet[link].style = blue_link
39
- sum_sheet.add_hyperlink location: "'Log'!A#{current_row}", target: :sheet, ref: link
40
- end
41
-
42
- current_row += 1
43
- end
44
-
45
- p.serialize 'where_is_my_color.xlsx'