write_xlsx 0.97.0 → 1.04.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.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/Changes +78 -0
- data/LICENSE.txt +1 -1
- data/README.md +2 -2
- data/examples/a_simple.rb +1 -1
- data/examples/add_vba_project.rb +1 -1
- data/examples/array_formula.rb +1 -1
- data/examples/chart_area.rb +5 -2
- data/examples/chart_bar.rb +5 -2
- data/examples/chart_clustered.rb +1 -1
- data/examples/chart_column.rb +5 -2
- data/examples/chart_combined.rb +1 -1
- data/examples/chart_data_table.rb +9 -3
- data/examples/chart_data_tools.rb +25 -7
- data/examples/chart_doughnut.rb +17 -5
- data/examples/chart_gauge.rb +73 -0
- data/examples/chart_line.rb +90 -12
- data/examples/chart_pareto.rb +1 -1
- data/examples/chart_pie.rb +9 -3
- data/examples/chart_radar.rb +13 -4
- data/examples/chart_scatter.rb +5 -2
- data/examples/chart_secondary_axis.rb +5 -2
- data/examples/chart_stock.rb +1 -1
- data/examples/chart_styles.rb +1 -1
- data/examples/colors.rb +1 -1
- data/examples/data_validate.rb +1 -1
- data/examples/date_time.rb +1 -1
- data/examples/demo.rb +4 -1
- data/examples/formats.rb +1 -1
- data/examples/headers.rb +1 -1
- data/examples/hide_row_col.rb +1 -1
- data/examples/hide_sheet.rb +1 -1
- data/examples/hyperlink1.rb +1 -1
- data/examples/indent.rb +1 -1
- data/examples/macros.rb +1 -1
- data/examples/merge1.rb +1 -1
- data/examples/merge2.rb +1 -1
- data/examples/merge3.rb +1 -1
- data/examples/merge4.rb +1 -1
- data/examples/merge5.rb +1 -1
- data/examples/merge6.rb +1 -1
- data/examples/outline.rb +1 -1
- data/examples/outline_collapsed.rb +1 -1
- data/examples/panes.rb +1 -1
- data/examples/properties.rb +1 -1
- data/examples/regions.rb +1 -1
- data/examples/rich_strings.rb +1 -1
- data/examples/right_to_left.rb +1 -1
- data/examples/shape1.rb +1 -1
- data/examples/shape2.rb +1 -1
- data/examples/shape3.rb +1 -1
- data/examples/shape4.rb +1 -1
- data/examples/shape5.rb +1 -1
- data/examples/shape6.rb +1 -1
- data/examples/shape7.rb +1 -1
- data/examples/shape8.rb +1 -1
- data/examples/shape_all.rb +1 -1
- data/examples/sparklines1.rb +1 -1
- data/examples/sparklines2.rb +1 -1
- data/examples/stats.rb +1 -1
- data/examples/stats_ext.rb +1 -1
- data/examples/stocks.rb +1 -1
- data/examples/tab_colors.rb +1 -1
- data/examples/tables.rb +78 -43
- data/lib/write_xlsx/chart.rb +43 -35
- data/lib/write_xlsx/chart/area.rb +1 -1
- data/lib/write_xlsx/chart/axis.rb +2 -2
- data/lib/write_xlsx/chart/bar.rb +1 -1
- data/lib/write_xlsx/chart/column.rb +1 -1
- data/lib/write_xlsx/chart/doughnut.rb +1 -1
- data/lib/write_xlsx/chart/legend.rb +14 -0
- data/lib/write_xlsx/chart/line.rb +16 -2
- data/lib/write_xlsx/chart/pie.rb +30 -15
- data/lib/write_xlsx/chart/radar.rb +1 -1
- data/lib/write_xlsx/chart/scatter.rb +1 -1
- data/lib/write_xlsx/chart/stock.rb +1 -1
- data/lib/write_xlsx/chartsheet.rb +35 -7
- data/lib/write_xlsx/drawing.rb +86 -30
- data/lib/write_xlsx/format.rb +9 -9
- data/lib/write_xlsx/package/comments.rb +61 -58
- data/lib/write_xlsx/package/conditional_format.rb +9 -1
- data/lib/write_xlsx/package/relationships.rb +4 -4
- data/lib/write_xlsx/package/styles.rb +26 -8
- data/lib/write_xlsx/package/table.rb +13 -7
- data/lib/write_xlsx/package/vml.rb +20 -19
- data/lib/write_xlsx/shape.rb +4 -3
- data/lib/write_xlsx/sheets.rb +18 -16
- data/lib/write_xlsx/sparkline.rb +1 -1
- data/lib/write_xlsx/utility.rb +96 -7
- data/lib/write_xlsx/version.rb +1 -1
- data/lib/write_xlsx/workbook.rb +99 -49
- data/lib/write_xlsx/worksheet.rb +225 -145
- data/lib/write_xlsx/worksheet/data_validation.rb +10 -14
- data/lib/write_xlsx/worksheet/hyperlink.rb +16 -37
- data/test/chart/test_write_legend_pos.rb +9 -1
- data/test/chartsheet/test_write_sheet_protection.rb +91 -0
- data/test/drawing/test_drawing_chart_01.rb +6 -2
- data/test/drawing/test_drawing_image_01.rb +12 -3
- data/test/drawing/test_drawing_shape_01.rb +8 -5
- data/test/drawing/test_drawing_shape_02.rb +12 -5
- data/test/drawing/test_drawing_shape_03.rb +8 -5
- data/test/drawing/test_drawing_shape_04.rb +8 -24
- data/test/drawing/test_drawing_shape_05.rb +8 -5
- data/test/drawing/test_drawing_shape_06.rb +11 -6
- data/test/drawing/test_drawing_shape_07.rb +11 -6
- data/test/drawing/test_write_a_graphic_frame_locks.rb +1 -1
- data/test/drawing/test_write_c_chart.rb +1 -1
- data/test/drawing/test_write_c_nv_graphic_frame_pr.rb +1 -1
- data/test/drawing/test_write_c_nv_pr.rb +1 -1
- data/test/drawing/test_write_col.rb +1 -1
- data/test/drawing/test_write_col_off.rb +1 -1
- data/test/drawing/test_write_ext.rb +1 -1
- data/test/drawing/test_write_pos.rb +1 -1
- data/test/drawing/test_write_row.rb +1 -1
- data/test/drawing/test_write_row_off.rb +1 -1
- data/test/drawing/test_write_xfrm_extension.rb +1 -1
- data/test/drawing/test_write_xfrm_offset.rb +1 -1
- data/test/package/comments/test_comments_01.rb +54 -0
- data/test/package/comments/test_comments_02.rb +54 -0
- data/test/perl_output/chart_gauge.xlsx +0 -0
- data/test/perl_output/chart_line.xlsx +0 -0
- data/test/perl_output/comments2.xlsx +0 -0
- data/test/perl_output/formats.xlsx +0 -0
- data/test/perl_output/tables.xlsx +0 -0
- data/test/regression/images/happy.jpg +0 -0
- data/test/regression/images/red2.png +0 -0
- data/test/regression/test_array_formula03.rb +36 -0
- data/test/regression/test_autofilter08.rb +110 -0
- data/test/regression/test_autofilter09.rb +110 -0
- data/test/regression/test_autofilter10.rb +110 -0
- data/test/regression/test_chart_axis26.rb +10 -8
- data/test/regression/test_chart_axis27.rb +1 -1
- data/test/regression/test_chart_axis28.rb +1 -1
- data/test/regression/test_chart_axis29.rb +1 -1
- data/test/regression/test_chart_axis33.rb +1 -1
- data/test/regression/test_chart_axis42.rb +44 -0
- data/test/regression/test_chart_axis43.rb +44 -0
- data/test/regression/test_chart_axis44.rb +54 -0
- data/test/regression/test_chart_axis45.rb +54 -0
- data/test/regression/test_chart_axis46.rb +54 -0
- data/test/regression/test_chart_combined10.rb +43 -0
- data/test/regression/test_chart_combined11.rb +63 -0
- data/test/regression/test_chart_data_labels25.rb +1 -1
- data/test/regression/test_chart_doughnut07.rb +37 -0
- data/test/regression/test_chart_font09.rb +1 -1
- data/test/regression/test_chart_legend03.rb +41 -0
- data/test/regression/test_chart_legend04.rb +41 -0
- data/test/regression/test_chart_legend05.rb +41 -0
- data/test/regression/test_chart_legend06.rb +41 -0
- data/test/regression/test_chart_legend07.rb +38 -0
- data/test/regression/test_chart_line05.rb +43 -0
- data/test/regression/test_chart_line06.rb +43 -0
- data/test/regression/test_chart_size03.rb +4 -1
- data/test/regression/test_comment13.rb +36 -0
- data/test/regression/test_comment14.rb +29 -0
- data/test/regression/test_comment15.rb +28 -0
- data/test/regression/test_comment16.rb +34 -0
- data/test/regression/test_cond_format19.rb +64 -0
- data/test/regression/test_cond_format20.rb +43 -0
- data/test/regression/test_format15.rb +26 -0
- data/test/regression/test_header_image15.rb +36 -0
- data/test/regression/test_header_image16.rb +42 -0
- data/test/regression/test_header_image17.rb +46 -0
- data/test/regression/test_header_image18.rb +48 -0
- data/test/regression/test_header_image19.rb +36 -0
- data/test/regression/test_hyperlink32.rb +27 -0
- data/test/regression/test_hyperlink33.rb +28 -0
- data/test/regression/test_hyperlink34.rb +33 -0
- data/test/regression/test_hyperlink35.rb +39 -0
- data/test/regression/test_hyperlink36.rb +34 -0
- data/test/regression/test_hyperlink37.rb +33 -0
- data/test/regression/test_hyperlink38.rb +27 -0
- data/test/regression/test_hyperlink39.rb +27 -0
- data/test/regression/test_hyperlink40.rb +27 -0
- data/test/regression/test_hyperlink41.rb +27 -0
- data/test/regression/test_hyperlink42.rb +27 -0
- data/test/regression/test_hyperlink43.rb +27 -0
- data/test/regression/test_hyperlink44.rb +27 -0
- data/test/regression/test_hyperlink45.rb +27 -0
- data/test/regression/test_hyperlink47.rb +27 -0
- data/test/regression/test_hyperlink48.rb +31 -0
- data/test/regression/test_hyperlink49.rb +29 -0
- data/test/regression/test_image06.rb +5 -5
- data/test/regression/test_image08.rb +5 -4
- data/test/regression/test_image15.rb +4 -2
- data/test/regression/test_image28.rb +1 -1
- data/test/regression/test_image36.rb +26 -0
- data/test/regression/test_image44.rb +28 -0
- data/test/regression/test_image45.rb +29 -0
- data/test/regression/test_image46.rb +29 -0
- data/test/regression/test_image47.rb +28 -0
- data/test/regression/test_image48.rb +32 -0
- data/test/regression/test_image49.rb +38 -0
- data/test/regression/test_image50.rb +24 -0
- data/test/regression/test_image51.rb +30 -0
- data/test/regression/test_object_position01.rb +26 -0
- data/test/regression/test_object_position02.rb +26 -0
- data/test/regression/test_object_position03.rb +26 -0
- data/test/regression/test_object_position04.rb +44 -0
- data/test/regression/test_object_position06.rb +28 -0
- data/test/regression/test_object_position07.rb +28 -0
- data/test/regression/test_object_position08.rb +47 -0
- data/test/regression/test_object_position09.rb +50 -0
- data/test/regression/test_object_position10.rb +28 -0
- data/test/regression/test_object_position12.rb +25 -0
- data/test/regression/test_object_position13.rb +25 -0
- data/test/regression/test_object_position14.rb +25 -0
- data/test/regression/test_object_position15.rb +29 -0
- data/test/regression/test_object_position16.rb +29 -0
- data/test/regression/test_object_position17.rb +29 -0
- data/test/regression/test_object_position18.rb +29 -0
- data/test/regression/test_object_position19.rb +29 -0
- data/test/regression/test_object_position20.rb +29 -0
- data/test/regression/test_shape_connect01.rb +4 -2
- data/test/regression/test_table23.rb +56 -0
- data/test/regression/test_table24.rb +27 -0
- data/test/regression/test_table25.rb +27 -0
- data/test/regression/xlsx_files/array_formula03.xlsx +0 -0
- data/test/regression/xlsx_files/autofilter08.xlsx +0 -0
- data/test/regression/xlsx_files/autofilter09.xlsx +0 -0
- data/test/regression/xlsx_files/autofilter10.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis26.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis27.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis28.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis29.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis33.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis42.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis43.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis44.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis45.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis46.xlsx +0 -0
- data/test/regression/xlsx_files/chart_combined10.xlsx +0 -0
- data/test/regression/xlsx_files/chart_combined11.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels25.xlsx +0 -0
- data/test/regression/xlsx_files/chart_doughnut07.xlsx +0 -0
- data/test/regression/xlsx_files/chart_font09.xlsx +0 -0
- data/test/regression/xlsx_files/chart_legend03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_legend04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_legend05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_legend06.xlsx +0 -0
- data/test/regression/xlsx_files/chart_legend07.xlsx +0 -0
- data/test/regression/xlsx_files/chart_line05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_line06.xlsx +0 -0
- data/test/regression/xlsx_files/comment13.xlsx +0 -0
- data/test/regression/xlsx_files/comment14.xlsx +0 -0
- data/test/regression/xlsx_files/comment15.xlsx +0 -0
- data/test/regression/xlsx_files/comment16.xlsx +0 -0
- data/test/regression/xlsx_files/cond_format19.xlsx +0 -0
- data/test/regression/xlsx_files/cond_format20.xlsx +0 -0
- data/test/regression/xlsx_files/format15.xlsx +0 -0
- data/test/regression/xlsx_files/header_image15.xlsx +0 -0
- data/test/regression/xlsx_files/header_image16.xlsx +0 -0
- data/test/regression/xlsx_files/header_image17.xlsx +0 -0
- data/test/regression/xlsx_files/header_image18.xlsx +0 -0
- data/test/regression/xlsx_files/header_image19.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink32.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink33.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink34.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink35.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink36.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink37.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink38.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink39.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink40.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink41.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink42.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink43.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink44.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink45.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink46.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink47.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink48.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink49.xlsx +0 -0
- data/test/regression/xlsx_files/image06.xlsx +0 -0
- data/test/regression/xlsx_files/image36.xlsx +0 -0
- data/test/regression/xlsx_files/image44.xlsx +0 -0
- data/test/regression/xlsx_files/image45.xlsx +0 -0
- data/test/regression/xlsx_files/image46.xlsx +0 -0
- data/test/regression/xlsx_files/image47.xlsx +0 -0
- data/test/regression/xlsx_files/image48.xlsx +0 -0
- data/test/regression/xlsx_files/image49.xlsx +0 -0
- data/test/regression/xlsx_files/image50.xlsx +0 -0
- data/test/regression/xlsx_files/image51.xlsx +0 -0
- data/test/regression/xlsx_files/object_position01.xlsx +0 -0
- data/test/regression/xlsx_files/object_position02.xlsx +0 -0
- data/test/regression/xlsx_files/object_position03.xlsx +0 -0
- data/test/regression/xlsx_files/object_position04.xlsx +0 -0
- data/test/regression/xlsx_files/object_position06.xlsx +0 -0
- data/test/regression/xlsx_files/object_position07.xlsx +0 -0
- data/test/regression/xlsx_files/object_position08.xlsx +0 -0
- data/test/regression/xlsx_files/object_position09.xlsx +0 -0
- data/test/regression/xlsx_files/object_position10.xlsx +0 -0
- data/test/regression/xlsx_files/object_position12.xlsx +0 -0
- data/test/regression/xlsx_files/object_position13.xlsx +0 -0
- data/test/regression/xlsx_files/object_position14.xlsx +0 -0
- data/test/regression/xlsx_files/object_position15.xlsx +0 -0
- data/test/regression/xlsx_files/object_position16.xlsx +0 -0
- data/test/regression/xlsx_files/object_position17.xlsx +0 -0
- data/test/regression/xlsx_files/object_position18.xlsx +0 -0
- data/test/regression/xlsx_files/object_position19.xlsx +0 -0
- data/test/regression/xlsx_files/object_position20.xlsx +0 -0
- data/test/regression/xlsx_files/table23.xlsx +0 -0
- data/test/regression/xlsx_files/table24.xlsx +0 -0
- data/test/regression/xlsx_files/table25.xlsx +0 -0
- data/test/test_example_match.rb +955 -780
- data/test/workbook/test_check_sheetname.rb +51 -0
- data/test/workbook/test_write_workbook_view.rb +36 -0
- data/test/worksheet/test_write_data_validation_02.rb +17 -0
- data/test/worksheet/test_write_sheet_view.rb +19 -1
- data/write_xlsx.gemspec +1 -0
- metadata +349 -7
- data/test/package/comments/test_write_text_t.rb +0 -44
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9c3893d317a3ab9f246b62c9d6b6b3a727abd9ab539da4edf52c4029f076d566
|
4
|
+
data.tar.gz: 64861b9ce57ebd55ce67508b33be19705049a8db520edfacc1fd40d8547c2b9c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c3870b13ed05dca60597ecc86662d15d2ec143667e6ff29349c4409d2dd7966eb9f7246f14071a06524a15f5039cb8ec2d4c6c4fb99206b1377f452abe94eddc
|
7
|
+
data.tar.gz: b776541fecba7724e59e5742939e331944ea9a08d87eba2528d29404f9f34bbab8a8abe548fd52735a15c72e42e54c54cc73ad5c06765521647771178229fab0
|
data/.gitignore
CHANGED
data/Changes
CHANGED
@@ -1,5 +1,83 @@
|
|
1
1
|
Change history of write_xlsx rubygem.
|
2
2
|
|
3
|
+
2021-02-14 v1.04.0
|
4
|
+
|
5
|
+
Added support for "stacked" and "percent_stacked" Line charts.
|
6
|
+
|
7
|
+
Fix for worksheet objects (charts and images) that are inserted with an
|
8
|
+
offset that starts in a hidden cell.
|
9
|
+
|
10
|
+
Removed error in add_worksheet() for sheet name "History" which is a
|
11
|
+
reserved name in English version of Excel. However, this is an allowed
|
12
|
+
worksheet name in some Excel variants so the warning has been turned into
|
13
|
+
a documentation note instead.
|
14
|
+
|
15
|
+
|
16
|
+
2021-02-13 v1.03.0
|
17
|
+
|
18
|
+
Fix for duplicate images being copied to an Excel::Writer::XLSX
|
19
|
+
file. Excel uses an optimization where it only stores one copy of a
|
20
|
+
repeated/duplicate image in a workbook. WriteXLSX didn't do
|
21
|
+
this which meant that the file size would increase when then was a large
|
22
|
+
number of repeated images. This release fixes that issue and replicates
|
23
|
+
Excel's behaviour.
|
24
|
+
|
25
|
+
2021-02-12 v1.02.0
|
26
|
+
|
27
|
+
Added support for hyperlinks in worksheet images.
|
28
|
+
|
29
|
+
Increased allowable url length from 255 to 2079 characters, as allowed in
|
30
|
+
more recent versions of Excel.
|
31
|
+
|
32
|
+
|
33
|
+
2021-02-08 v1.01.0
|
34
|
+
|
35
|
+
Added support for stacked and East Asian vertical chart fonts.
|
36
|
+
|
37
|
+
Added option to control positioning of charts or images when cells are
|
38
|
+
resized.
|
39
|
+
|
40
|
+
Added support for combining Pie/Doughnut charts.
|
41
|
+
|
42
|
+
Fixed sizing of cell comment boxes when they cross columns/rows that have
|
43
|
+
size changes that occur after the comment is written. Comments should
|
44
|
+
now behave like other worksheet objects such as images and charts.
|
45
|
+
|
46
|
+
Fix for structured reference in chart ranges.
|
47
|
+
|
48
|
+
2021-01-23 v1.00.0
|
49
|
+
|
50
|
+
Fixed issue where images that started in hidden rows/columns weren't placed
|
51
|
+
correctly in the worksheet.
|
52
|
+
|
53
|
+
|
54
|
+
2021-01-08 v0.99.0
|
55
|
+
|
56
|
+
Added font and font_size parameters to write_comment().
|
57
|
+
|
58
|
+
Allow formulas in date field of data_validation().
|
59
|
+
|
60
|
+
Added top_left chart legend position.
|
61
|
+
|
62
|
+
Added legend formatting options.
|
63
|
+
|
64
|
+
Added set_tab_ratio() method to set the ratio between the worksheet tabs
|
65
|
+
and the horizontal slider.
|
66
|
+
|
67
|
+
Added worksheet hide_row_col_headers() method to turn off worksheet row
|
68
|
+
and column headings.
|
69
|
+
|
70
|
+
Add functionality to align chart category axis labels.
|
71
|
+
|
72
|
+
Fix for issue with special characters in worksheet table functions.
|
73
|
+
|
74
|
+
Fix handling of 'num_format': '0' in duplicate formats.
|
75
|
+
|
76
|
+
|
77
|
+
2021-01-03 v0.98.0
|
78
|
+
|
79
|
+
fixed for autofilter rule with blanks plus another filter.
|
80
|
+
|
3
81
|
2021-01-02 v0.97.0
|
4
82
|
|
5
83
|
Added Excel 2010 data bar features such as solid fills and control over
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
gem to create a new file in the Excel 2007+ XLSX format, and you can use the
|
7
7
|
same interface as writeexcel gem. write_xlsx is converted from Perl's module
|
8
|
-
[Excel::Writer::XLSX-
|
8
|
+
[Excel::Writer::XLSX-1.04](https://github.com/jmcnamara/excel-writer-xlsx/tree/CPAN_1.04)
|
9
9
|
|
10
10
|
## Description
|
11
11
|
|
@@ -85,7 +85,7 @@ the first worksheet in an Excel XML spreadsheet called ruby.xlsx:
|
|
85
85
|
Original Perl module was written by John McNamara(jmcnamara@cpan.org).
|
86
86
|
|
87
87
|
Converted to ruby by Hideo NAKAMURA(nakamrua.hideo@gmail.com)
|
88
|
-
Copyright (c) 2012-
|
88
|
+
Copyright (c) 2012-2021 Hideo NAKAMURA.
|
89
89
|
|
90
90
|
See LICENSE.txt for further details.
|
91
91
|
|
data/examples/a_simple.rb
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
# write text and numbers to an Excel xlsx file.
|
8
8
|
#
|
9
9
|
# reverse(c), March 2001, John McNamara, jmcnamara@cpan.org
|
10
|
-
# convert to ruby by Hideo NAKAMURA,
|
10
|
+
# convert to ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
|
11
11
|
#
|
12
12
|
|
13
13
|
require 'write_xlsx'
|
data/examples/add_vba_project.rb
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
# used to extract the vbaProject.bin file.
|
11
11
|
#
|
12
12
|
# reverse('(c)'), November 2012, John McNamara, jmcnamara@cpan.org
|
13
|
-
# convert to ruby by Hideo NAKAMURA,
|
13
|
+
# convert to ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
|
14
14
|
#
|
15
15
|
|
16
16
|
require 'write_xlsx'
|
data/examples/array_formula.rb
CHANGED
data/examples/chart_area.rb
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
# A demo of an Area chart in Excel::Writer::XLSX.
|
7
7
|
#
|
8
8
|
# reverse('ゥ'), March 2011, John McNamara, jmcnamara@cpan.org
|
9
|
-
# convert to ruby by Hideo NAKAMURA,
|
9
|
+
# convert to ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
|
10
10
|
#
|
11
11
|
|
12
12
|
require 'write_xlsx'
|
@@ -53,6 +53,9 @@
|
|
53
53
|
chart.set_style(11)
|
54
54
|
|
55
55
|
# Insert the chart into the worksheet (with an offset).
|
56
|
-
worksheet.insert_chart(
|
56
|
+
worksheet.insert_chart(
|
57
|
+
'D2', chart,
|
58
|
+
:x_offset => 25, :y_offset => 10
|
59
|
+
)
|
57
60
|
|
58
61
|
workbook.close
|
data/examples/chart_bar.rb
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
# A demo of an Bar chart in Excel::Writer::XLSX.
|
7
7
|
#
|
8
8
|
# reverse('c'), March 2011, John McNamara, jmcnamara@cpan.org
|
9
|
-
# convert to ruby by Hideo NAKAMURA,
|
9
|
+
# convert to ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
|
10
10
|
#
|
11
11
|
|
12
12
|
require 'write_xlsx'
|
@@ -53,6 +53,9 @@
|
|
53
53
|
chart.set_style(11)
|
54
54
|
|
55
55
|
# Insert the chart into the worksheet (with an offset).
|
56
|
-
worksheet.insert_chart(
|
56
|
+
worksheet.insert_chart(
|
57
|
+
'D2', chart,
|
58
|
+
:x_offset => 25, :y_offset => 10
|
59
|
+
)
|
57
60
|
|
58
61
|
workbook.close
|
data/examples/chart_clustered.rb
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
# A demo of a clustered category chart in Excel::Writer::XLSX.
|
6
6
|
#
|
7
7
|
# reverse ('(c)'), March 2015, John McNamara, jmcnamara@cpan.org
|
8
|
-
# convert to ruby by Hideo NAKAMURA,
|
8
|
+
# convert to ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
|
9
9
|
#
|
10
10
|
|
11
11
|
require 'write_xlsx'
|
data/examples/chart_column.rb
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
# A demo of an Area chart in Excel::Writer::XLSX.
|
7
7
|
#
|
8
8
|
# reverse('ゥ'), March 2011, John McNamara, jmcnamara@cpan.org
|
9
|
-
# convert to ruby by Hideo NAKAMURA,
|
9
|
+
# convert to ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
|
10
10
|
#
|
11
11
|
|
12
12
|
require 'write_xlsx'
|
@@ -53,6 +53,9 @@
|
|
53
53
|
chart.set_style(11)
|
54
54
|
|
55
55
|
# Insert the chart into the worksheet (with an offset).
|
56
|
-
worksheet.insert_chart(
|
56
|
+
worksheet.insert_chart(
|
57
|
+
'D2', chart,
|
58
|
+
:x_offset => 25, :y_offset => 10
|
59
|
+
)
|
57
60
|
|
58
61
|
workbook.close
|
data/examples/chart_combined.rb
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
# An example of a Combined chart in WriteXLSX.
|
7
7
|
#
|
8
8
|
# reverse ('(c)'), March 2015, John McNamara, jmcnamara@cpan.org
|
9
|
-
# convert to ruby by Hideo NAKAMURA,
|
9
|
+
# convert to ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
|
10
10
|
#
|
11
11
|
|
12
12
|
require 'write_xlsx'
|
@@ -7,7 +7,7 @@
|
|
7
7
|
# WriteXLSX.
|
8
8
|
#
|
9
9
|
# reverse ('(c)'), December 2012, John McNamara, jmcnamara@cpan.org
|
10
|
-
# convert to ruby by Hideo NAKAMURA,
|
10
|
+
# convert to ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
|
11
11
|
#
|
12
12
|
|
13
13
|
require 'write_xlsx'
|
@@ -54,7 +54,10 @@
|
|
54
54
|
chart1.set_table
|
55
55
|
|
56
56
|
# Insert the chart into the worksheet (with an offset).
|
57
|
-
worksheet.insert_chart(
|
57
|
+
worksheet.insert_chart(
|
58
|
+
'D2', chart1,
|
59
|
+
:x_offset => 25, :y_offset => 10
|
60
|
+
)
|
58
61
|
|
59
62
|
#
|
60
63
|
# Create a second charat.
|
@@ -88,6 +91,9 @@
|
|
88
91
|
chart2.set_legend(:position => 'none')
|
89
92
|
|
90
93
|
# Insert the chart into the worksheet (with an offset).
|
91
|
-
worksheet.insert_chart(
|
94
|
+
worksheet.insert_chart(
|
95
|
+
'D18', chart2,
|
96
|
+
:x_offset => 25, :y_offset => 11
|
97
|
+
)
|
92
98
|
|
93
99
|
workbook.close
|
@@ -10,7 +10,7 @@
|
|
10
10
|
# High-Low Lines and Up-Down Bars.
|
11
11
|
#
|
12
12
|
# reverse ('(c)'), December 2012, John McNamara, jmcnamara@cpan.org
|
13
|
-
# convert to ruby by Hideo NAKAMURA,
|
13
|
+
# convert to ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
|
14
14
|
#
|
15
15
|
|
16
16
|
require 'write_xlsx'
|
@@ -62,7 +62,10 @@
|
|
62
62
|
chart1.set_title(:name => 'Chart with Trendlines')
|
63
63
|
|
64
64
|
# Insert the chart into the worksheet (with an offset).
|
65
|
-
worksheet.insert_chart(
|
65
|
+
worksheet.insert_chart(
|
66
|
+
'D2', chart1,
|
67
|
+
:x_offset => 25, :y_offset => 10
|
68
|
+
)
|
66
69
|
|
67
70
|
|
68
71
|
#######################################################################
|
@@ -91,7 +94,10 @@
|
|
91
94
|
chart2.set_title(:name => 'Chart with Data Labels and Markers')
|
92
95
|
|
93
96
|
# Insert the chart into the worksheet (with an offset).
|
94
|
-
worksheet.insert_chart(
|
97
|
+
worksheet.insert_chart(
|
98
|
+
'D18', chart2,
|
99
|
+
:x_offset => 25, :y_offset => 10
|
100
|
+
)
|
95
101
|
|
96
102
|
|
97
103
|
#######################################################################
|
@@ -119,7 +125,10 @@
|
|
119
125
|
chart3.set_title(:name => 'Chart with Error Bars')
|
120
126
|
|
121
127
|
# Insert the chart into the worksheet (with an offset).
|
122
|
-
worksheet.insert_chart(
|
128
|
+
worksheet.insert_chart(
|
129
|
+
'D34', chart3,
|
130
|
+
:x_offset => 25, :y_offset => 10
|
131
|
+
)
|
123
132
|
|
124
133
|
|
125
134
|
#######################################################################
|
@@ -149,7 +158,10 @@
|
|
149
158
|
chart4.set_title(:name => 'Chart with Up-Down Bars')
|
150
159
|
|
151
160
|
# Insert the chart into the worksheet (with an offset).
|
152
|
-
worksheet.insert_chart(
|
161
|
+
worksheet.insert_chart(
|
162
|
+
'D50', chart4,
|
163
|
+
:x_offset => 25, :y_offset => 10
|
164
|
+
)
|
153
165
|
|
154
166
|
|
155
167
|
#######################################################################
|
@@ -179,7 +191,10 @@
|
|
179
191
|
chart5.set_title(:name => 'Chart with High-Low Lines')
|
180
192
|
|
181
193
|
# Insert the chart into the worksheet (with an offset).
|
182
|
-
worksheet.insert_chart(
|
194
|
+
worksheet.insert_chart(
|
195
|
+
'D66', chart5,
|
196
|
+
:x_offset => 25, :y_offset => 10
|
197
|
+
)
|
183
198
|
|
184
199
|
|
185
200
|
#######################################################################
|
@@ -209,6 +224,9 @@
|
|
209
224
|
chart6.set_title(:name => 'Chart with Drop Lines')
|
210
225
|
|
211
226
|
# Insert the chart into the worksheet (with an offset).
|
212
|
-
worksheet.insert_chart(
|
227
|
+
worksheet.insert_chart(
|
228
|
+
'D82', chart6,
|
229
|
+
:x_offset => 25, :y_offset => 10
|
230
|
+
)
|
213
231
|
|
214
232
|
workbook.close
|
data/examples/chart_doughnut.rb
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
# formatting to each point in the series.
|
13
13
|
#
|
14
14
|
# reverse ('(c)'), March 2011, John McNamara, jmcnamara@cpan.org
|
15
|
-
# convert to ruby by Hideo NAKAMURA,
|
15
|
+
# convert to ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
|
16
16
|
#
|
17
17
|
|
18
18
|
require 'write_xlsx'
|
@@ -50,7 +50,10 @@
|
|
50
50
|
chart1.set_style(10)
|
51
51
|
|
52
52
|
# Insert the chart into the worksheet (with an offset).
|
53
|
-
worksheet.insert_chart(
|
53
|
+
worksheet.insert_chart(
|
54
|
+
'C2', chart1,
|
55
|
+
:x_offset => 25, :y_offset => 10
|
56
|
+
)
|
54
57
|
|
55
58
|
|
56
59
|
#
|
@@ -77,7 +80,10 @@
|
|
77
80
|
|
78
81
|
|
79
82
|
# Insert the chart into the worksheet (with an offset).
|
80
|
-
worksheet.insert_chart(
|
83
|
+
worksheet.insert_chart(
|
84
|
+
'C18', chart2,
|
85
|
+
:x_offset => 25, :y_offset => 10
|
86
|
+
)
|
81
87
|
|
82
88
|
|
83
89
|
#
|
@@ -101,7 +107,10 @@
|
|
101
107
|
chart3.set_rotation(90)
|
102
108
|
|
103
109
|
# Insert the chart into the worksheet (with an offset).
|
104
|
-
worksheet.insert_chart(
|
110
|
+
worksheet.insert_chart(
|
111
|
+
'C34', chart3,
|
112
|
+
:x_offset => 25, :y_offset => 10
|
113
|
+
)
|
105
114
|
|
106
115
|
|
107
116
|
#
|
@@ -125,6 +134,9 @@
|
|
125
134
|
chart4.set_hole_size(33)
|
126
135
|
|
127
136
|
# Insert the chart into the worksheet (with an offset).
|
128
|
-
worksheet.insert_chart(
|
137
|
+
worksheet.insert_chart(
|
138
|
+
'C50', chart4,
|
139
|
+
:x_offset => 25, :y_offset => 10
|
140
|
+
)
|
129
141
|
|
130
142
|
workbook.close
|
@@ -0,0 +1,73 @@
|
|
1
|
+
# #!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# #######################################################################
|
4
|
+
# #
|
5
|
+
# # A demo of an Gauge Chart in WriteXLSX gem.
|
6
|
+
# #
|
7
|
+
# # A Gauge Chart isn't a native chart type in Excel. It is constructed by
|
8
|
+
# # combining a doughnut chart and a pie chart and by using some non-filled
|
9
|
+
# # elements. This example follows the following online example of how to create
|
10
|
+
# # a Gauge Chart in Excel: https://www.excel-easy.com/examples/gauge-chart.html
|
11
|
+
# #
|
12
|
+
# # reverse ('(c)'), May 2019, John McNamara, jmcnamara@cpan.org
|
13
|
+
# # convert to ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
|
14
|
+
# #
|
15
|
+
|
16
|
+
require 'write_xlsx'
|
17
|
+
|
18
|
+
workbook = WriteXLSX.new('chart_gauge.xlsx')
|
19
|
+
worksheet = workbook.add_worksheet
|
20
|
+
|
21
|
+
chart_doughnut = workbook.add_chart(:type => 'doughnut', :embedded => 1)
|
22
|
+
chart_pie = workbook.add_chart(:type => 'pie', :embedded => 1)
|
23
|
+
|
24
|
+
# Add some data for the Doughnut and Pie charts. This is set up so the
|
25
|
+
# gauge goes from 0-100. It is initially set at 75%.
|
26
|
+
worksheet.write_col('H2', ['Donut', 25, 50, 25, 100])
|
27
|
+
worksheet.write_col('I2', ['Pie', 75, 1, '=200-I4-I3'])
|
28
|
+
|
29
|
+
# Configure the doughnut chart as the background for the gauge.
|
30
|
+
chart_doughnut.add_series(
|
31
|
+
:name => '=Sheet1!$H$2',
|
32
|
+
:values => '=Sheet1!$H$3:$H$6',
|
33
|
+
:points => [
|
34
|
+
{ :fill => { :color => 'green' } },
|
35
|
+
{ :fill => { :color => 'yellow' } },
|
36
|
+
{ :fill => { :color => 'red' } },
|
37
|
+
{ :fill => { :none => 1 } }
|
38
|
+
]
|
39
|
+
)
|
40
|
+
|
41
|
+
# Rotate chart so the gauge parts are above the horizontal.
|
42
|
+
chart_doughnut.set_rotation(270)
|
43
|
+
|
44
|
+
# Turn off the chart legend.
|
45
|
+
chart_doughnut.set_legend(:none => 1)
|
46
|
+
|
47
|
+
# Turn off the chart fill and border.
|
48
|
+
chart_doughnut.set_chartarea(
|
49
|
+
:border => { :none => 1 },
|
50
|
+
:fill => { :none => 1 }
|
51
|
+
)
|
52
|
+
|
53
|
+
# Configure the pie chart as the needle for the gauge.
|
54
|
+
chart_pie.add_series(
|
55
|
+
:name => '=Sheet1!$I$2',
|
56
|
+
:values => '=Sheet1!$I$3:$I$6',
|
57
|
+
:points => [
|
58
|
+
{ :fill => { :none => 1 } },
|
59
|
+
{ :fill => { :color => 'black' } },
|
60
|
+
{ :fill => { :none => 1 } }
|
61
|
+
]
|
62
|
+
)
|
63
|
+
|
64
|
+
# Rotate the pie chart/needle to align with the doughnut/gauge.
|
65
|
+
chart_pie.set_rotation(270)
|
66
|
+
|
67
|
+
# Combine the pie and doughnut charts.
|
68
|
+
chart_doughnut.combine(chart_pie)
|
69
|
+
|
70
|
+
# Insert the chart into the worksheet.
|
71
|
+
worksheet.insert_chart('A1', chart_doughnut)
|
72
|
+
|
73
|
+
workbook.close
|