write_xlsx 0.86.0 → 0.97.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/.travis.yml +43 -0
- data/Changes +74 -0
- data/LICENSE.txt +1 -1
- data/README.md +4 -4
- data/examples/a_simple.rb +1 -6
- data/examples/chart_combined.rb +3 -1
- data/examples/conditional_format.rb +73 -46
- data/examples/demo.rb +1 -7
- data/examples/hyperlink1.rb +4 -11
- data/lib/write_xlsx/chart.rb +150 -192
- data/lib/write_xlsx/chart/axis.rb +33 -8
- data/lib/write_xlsx/chart/caption.rb +3 -1
- data/lib/write_xlsx/chart/pie.rb +2 -0
- data/lib/write_xlsx/chart/series.rb +37 -17
- data/lib/write_xlsx/format.rb +19 -11
- data/lib/write_xlsx/package/conditional_format.rb +351 -38
- data/lib/write_xlsx/package/content_types.rb +10 -0
- data/lib/write_xlsx/package/core.rb +8 -6
- data/lib/write_xlsx/package/custom.rb +125 -0
- data/lib/write_xlsx/package/packager.rb +26 -0
- data/lib/write_xlsx/package/styles.rb +53 -21
- data/lib/write_xlsx/package/table.rb +25 -4
- data/lib/write_xlsx/utility.rb +317 -32
- data/lib/write_xlsx/version.rb +1 -1
- data/lib/write_xlsx/workbook.rb +103 -7
- data/lib/write_xlsx/worksheet.rb +280 -30
- data/lib/write_xlsx/worksheet/cell_data.rb +21 -0
- data/lib/write_xlsx/worksheet/hyperlink.rb +4 -8
- data/test/chart/test_add_series.rb +11 -1
- data/test/chart/test_process_names.rb +1 -1
- data/test/chart/test_write_a_latin.rb +1 -1
- data/test/chart/test_write_auto.rb +1 -1
- data/test/chart/test_write_ax_id.rb +1 -1
- data/test/chart/test_write_ax_pos.rb +1 -1
- data/test/chart/test_write_cross_ax.rb +1 -1
- data/test/chart/test_write_crosses.rb +1 -1
- data/test/chart/test_write_d_lbls.rb +1 -1
- data/test/chart/test_write_format_code.rb +1 -1
- data/test/chart/test_write_idx.rb +1 -1
- data/test/chart/test_write_label_align.rb +1 -1
- data/test/chart/test_write_label_offset.rb +1 -1
- data/test/chart/test_write_lang.rb +1 -1
- data/test/chart/test_write_layout.rb +1 -1
- data/test/chart/test_write_legend.rb +1 -1
- data/test/chart/test_write_legend_pos.rb +1 -1
- data/test/chart/test_write_major_gridlines.rb +1 -1
- data/test/chart/test_write_marker.rb +1 -1
- data/test/chart/test_write_marker_size.rb +1 -1
- data/test/chart/test_write_marker_value.rb +1 -1
- data/test/chart/test_write_num_cache.rb +1 -1
- data/test/chart/test_write_number_format.rb +2 -3
- data/test/chart/test_write_order.rb +1 -1
- data/test/chart/test_write_orientation.rb +1 -1
- data/test/chart/test_write_page_margins.rb +1 -1
- data/test/chart/test_write_page_setup.rb +1 -1
- data/test/chart/test_write_plot_vis_only.rb +1 -1
- data/test/chart/test_write_pt.rb +1 -1
- data/test/chart/test_write_pt_count.rb +1 -1
- data/test/chart/test_write_series_formula.rb +1 -1
- data/test/chart/test_write_style.rb +1 -1
- data/test/chart/test_write_symbol.rb +1 -1
- data/test/chart/test_write_tick_lbl_pos.rb +1 -1
- data/test/chart/test_write_v.rb +1 -1
- data/test/chartsheet/test_chartsheet01.rb +1 -1
- data/test/drawing/test_drawing_chart_01.rb +1 -1
- data/test/drawing/test_drawing_image_01.rb +1 -1
- data/test/drawing/test_drawing_shape_01.rb +1 -1
- data/test/drawing/test_drawing_shape_02.rb +1 -1
- data/test/drawing/test_drawing_shape_03.rb +1 -1
- data/test/drawing/test_drawing_shape_04.rb +1 -1
- data/test/drawing/test_drawing_shape_05.rb +1 -1
- data/test/drawing/test_drawing_shape_06.rb +1 -1
- data/test/drawing/test_drawing_shape_07.rb +1 -1
- 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/helper.rb +8 -3
- data/test/package/app/test_app01.rb +1 -1
- data/test/package/app/test_app02.rb +1 -1
- data/test/package/app/test_app03.rb +1 -1
- data/test/package/comments/test_write_text_t.rb +1 -1
- data/test/package/content_types/test_content_types.rb +1 -1
- data/test/package/content_types/test_write_default.rb +1 -1
- data/test/package/content_types/test_write_override.rb +1 -1
- data/test/package/core/test_core01.rb +1 -1
- data/test/package/core/test_core02.rb +1 -1
- data/test/package/relationships/test_relationships.rb +1 -1
- data/test/package/relationships/test_sheet_rels.rb +1 -1
- data/test/package/shared_strings/test_shared_strings01.rb +1 -1
- data/test/package/shared_strings/test_shared_strings02.rb +1 -1
- data/test/package/shared_strings/test_write_si.rb +1 -7
- data/test/package/styles/test_styles_01.rb +1 -1
- data/test/package/styles/test_styles_02.rb +1 -1
- data/test/package/styles/test_styles_03.rb +1 -1
- data/test/package/styles/test_styles_04.rb +1 -1
- data/test/package/styles/test_styles_05.rb +1 -1
- data/test/package/styles/test_styles_06.rb +1 -1
- data/test/package/styles/test_styles_07.rb +1 -1
- data/test/package/styles/test_styles_08.rb +1 -1
- data/test/package/styles/test_styles_09.rb +1 -1
- data/test/package/table/test_table01.rb +3 -3
- data/test/package/table/test_table02.rb +2 -2
- data/test/package/table/test_table03.rb +2 -2
- data/test/package/table/test_table04.rb +2 -2
- data/test/package/table/test_table05.rb +2 -2
- data/test/package/table/test_table06.rb +2 -2
- data/test/package/table/test_table07.rb +2 -2
- data/test/package/table/test_table08.rb +2 -2
- data/test/package/table/test_table09.rb +2 -2
- data/test/package/table/test_table10.rb +2 -2
- data/test/package/table/test_table11.rb +2 -2
- data/test/package/table/test_table12.rb +2 -2
- data/test/package/table/test_table13.rb +1 -1
- data/test/package/table/test_write_auto_filter.rb +1 -1
- data/test/package/table/test_write_table_column.rb +1 -1
- data/test/package/table/test_write_table_style_info.rb +1 -1
- data/test/package/vml/test_write_auto_fill.rb +1 -1
- data/test/package/vml/test_write_div.rb +1 -1
- data/test/package/vml/test_write_idmap.rb +1 -1
- data/test/package/vml/test_write_path.rb +1 -1
- data/test/package/vml/test_write_shapelayout.rb +1 -1
- data/test/package/vml/test_write_shapetype.rb +1 -1
- data/test/package/vml/test_write_stroke.rb +1 -1
- data/test/regression/_test_hyperlink31.rb +26 -0
- data/test/regression/disabled_test_vml04.rb +1 -1
- data/test/regression/images/zero_dpi.jpg +0 -0
- data/test/regression/test_array_formula01.rb +1 -1
- data/test/regression/test_array_formula02.rb +1 -1
- data/test/regression/test_autofilter00.rb +1 -1
- data/test/regression/test_autofilter01.rb +1 -1
- data/test/regression/test_autofilter02.rb +1 -1
- data/test/regression/test_autofilter03.rb +1 -1
- data/test/regression/test_autofilter04.rb +1 -1
- data/test/regression/test_autofilter05.rb +1 -1
- data/test/regression/test_autofilter06.rb +1 -1
- data/test/regression/test_autofilter07.rb +1 -1
- data/test/regression/test_button01.rb +1 -1
- data/test/regression/test_button02.rb +1 -1
- data/test/regression/test_button03.rb +1 -1
- data/test/regression/test_button04.rb +1 -1
- data/test/regression/test_button05.rb +1 -1
- data/test/regression/test_button06.rb +1 -1
- data/test/regression/test_button07.rb +1 -1
- data/test/regression/test_button08.rb +1 -1
- data/test/regression/test_button13.rb +1 -1
- data/test/regression/test_button14.rb +1 -1
- data/test/regression/test_chart_area01.rb +1 -1
- data/test/regression/test_chart_area02.rb +1 -1
- data/test/regression/test_chart_area03.rb +1 -1
- data/test/regression/test_chart_area04.rb +1 -1
- data/test/regression/test_chart_axis01.rb +1 -1
- data/test/regression/test_chart_axis02.rb +1 -1
- data/test/regression/test_chart_axis03.rb +1 -1
- data/test/regression/test_chart_axis04.rb +1 -1
- data/test/regression/test_chart_axis05.rb +1 -1
- data/test/regression/test_chart_axis06.rb +1 -1
- data/test/regression/test_chart_axis07.rb +1 -1
- data/test/regression/test_chart_axis08.rb +1 -1
- data/test/regression/test_chart_axis09.rb +1 -1
- data/test/regression/test_chart_axis10.rb +1 -1
- data/test/regression/test_chart_axis11.rb +1 -1
- data/test/regression/test_chart_axis12.rb +1 -1
- data/test/regression/test_chart_axis13.rb +1 -1
- data/test/regression/test_chart_axis14.rb +1 -1
- data/test/regression/test_chart_axis15.rb +1 -1
- data/test/regression/test_chart_axis16.rb +1 -1
- data/test/regression/test_chart_axis17.rb +1 -1
- data/test/regression/test_chart_axis18.rb +1 -1
- data/test/regression/test_chart_axis19.rb +1 -1
- data/test/regression/test_chart_axis20.rb +1 -1
- data/test/regression/test_chart_axis21.rb +1 -1
- data/test/regression/test_chart_axis22.rb +1 -1
- data/test/regression/test_chart_axis23.rb +1 -1
- data/test/regression/test_chart_axis24.rb +1 -1
- data/test/regression/test_chart_axis25.rb +1 -1
- data/test/regression/test_chart_axis26.rb +1 -1
- 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_axis30.rb +1 -1
- data/test/regression/test_chart_axis31.rb +1 -1
- data/test/regression/test_chart_axis32.rb +1 -1
- data/test/regression/test_chart_axis33.rb +1 -1
- data/test/regression/test_chart_axis34.rb +1 -1
- data/test/regression/test_chart_axis35.rb +1 -1
- data/test/regression/test_chart_axis36.rb +1 -1
- data/test/regression/test_chart_axis37.rb +1 -1
- data/test/regression/test_chart_axis38.rb +1 -1
- data/test/regression/test_chart_axis39.rb +1 -1
- data/test/regression/test_chart_axis40.rb +44 -0
- data/test/regression/test_chart_axis41.rb +48 -0
- data/test/regression/test_chart_bar01.rb +1 -1
- data/test/regression/test_chart_bar02.rb +1 -1
- data/test/regression/test_chart_bar03.rb +1 -1
- data/test/regression/test_chart_bar04.rb +1 -1
- data/test/regression/test_chart_bar05.rb +1 -1
- data/test/regression/test_chart_bar06.rb +1 -1
- data/test/regression/test_chart_bar07.rb +1 -1
- data/test/regression/test_chart_bar08.rb +4 -1
- data/test/regression/test_chart_bar09.rb +1 -1
- data/test/regression/test_chart_bar10.rb +1 -1
- data/test/regression/test_chart_bar11.rb +4 -1
- data/test/regression/test_chart_bar12.rb +1 -1
- data/test/regression/test_chart_bar13.rb +1 -1
- data/test/regression/test_chart_bar14.rb +4 -1
- data/test/regression/test_chart_bar15.rb +1 -1
- data/test/regression/test_chart_bar16.rb +1 -1
- data/test/regression/test_chart_bar17.rb +1 -1
- data/test/regression/test_chart_bar18.rb +1 -1
- data/test/regression/test_chart_bar19.rb +1 -1
- data/test/regression/test_chart_bar20.rb +1 -1
- data/test/regression/test_chart_bar21.rb +1 -1
- data/test/regression/test_chart_bar22.rb +1 -1
- data/test/regression/test_chart_bar23.rb +1 -1
- data/test/regression/test_chart_bar24.rb +1 -1
- data/test/regression/test_chart_blank01.rb +1 -1
- data/test/regression/test_chart_blank02.rb +1 -1
- data/test/regression/test_chart_blank03.rb +1 -1
- data/test/regression/test_chart_blank04.rb +1 -1
- data/test/regression/test_chart_blank05.rb +1 -1
- data/test/regression/test_chart_blank06.rb +1 -1
- data/test/regression/test_chart_chartarea01.rb +1 -1
- data/test/regression/test_chart_chartarea02.rb +1 -1
- data/test/regression/test_chart_chartarea03.rb +1 -1
- data/test/regression/test_chart_chartarea04.rb +1 -1
- data/test/regression/test_chart_chartarea05.rb +17 -18
- data/test/regression/test_chart_chartarea06.rb +49 -0
- data/test/regression/test_chart_clustered01.rb +1 -1
- data/test/regression/test_chart_column01.rb +1 -1
- data/test/regression/test_chart_column02.rb +1 -1
- data/test/regression/test_chart_column03.rb +1 -1
- data/test/regression/test_chart_column04.rb +1 -1
- data/test/regression/test_chart_column05.rb +1 -1
- data/test/regression/test_chart_column06.rb +1 -1
- data/test/regression/test_chart_column07.rb +1 -1
- data/test/regression/test_chart_column08.rb +1 -1
- data/test/regression/test_chart_column09.rb +1 -1
- data/test/regression/test_chart_column10.rb +1 -1
- data/test/regression/test_chart_column11.rb +1 -1
- data/test/regression/test_chart_column12.rb +1 -1
- data/test/regression/test_chart_combined01.rb +1 -1
- data/test/regression/test_chart_combined02.rb +1 -1
- data/test/regression/test_chart_combined03.rb +1 -1
- data/test/regression/test_chart_combined04.rb +1 -1
- data/test/regression/test_chart_combined05.rb +1 -1
- data/test/regression/test_chart_combined06.rb +1 -1
- data/test/regression/test_chart_combined07.rb +1 -1
- data/test/regression/test_chart_combined08.rb +1 -1
- data/test/regression/test_chart_combined09.rb +50 -0
- data/test/regression/test_chart_crossing01.rb +1 -1
- data/test/regression/test_chart_crossing02.rb +1 -1
- data/test/regression/test_chart_crossing03.rb +1 -1
- data/test/regression/test_chart_crossing04.rb +1 -1
- data/test/regression/test_chart_data_labels01.rb +1 -1
- data/test/regression/test_chart_data_labels02.rb +1 -1
- data/test/regression/test_chart_data_labels03.rb +1 -1
- data/test/regression/test_chart_data_labels04.rb +1 -1
- data/test/regression/test_chart_data_labels05.rb +1 -1
- data/test/regression/test_chart_data_labels06.rb +1 -1
- data/test/regression/test_chart_data_labels07.rb +1 -1
- data/test/regression/test_chart_data_labels08.rb +1 -1
- data/test/regression/test_chart_data_labels09.rb +1 -1
- data/test/regression/test_chart_data_labels10.rb +1 -1
- data/test/regression/test_chart_data_labels11.rb +1 -1
- data/test/regression/test_chart_data_labels12.rb +1 -1
- data/test/regression/test_chart_data_labels13.rb +1 -1
- data/test/regression/test_chart_data_labels14.rb +1 -1
- data/test/regression/test_chart_data_labels15.rb +1 -1
- data/test/regression/test_chart_data_labels16.rb +1 -1
- data/test/regression/test_chart_data_labels17.rb +1 -1
- data/test/regression/test_chart_data_labels18.rb +1 -1
- data/test/regression/test_chart_data_labels19.rb +1 -1
- data/test/regression/test_chart_data_labels20.rb +1 -1
- data/test/regression/test_chart_data_labels21.rb +1 -1
- data/test/regression/test_chart_data_labels22.rb +1 -1
- data/test/regression/test_chart_data_labels23.rb +1 -1
- data/test/regression/test_chart_data_labels24.rb +1 -1
- data/test/regression/test_chart_data_labels25.rb +61 -0
- data/test/regression/test_chart_date01.rb +1 -1
- data/test/regression/test_chart_date02.rb +1 -1
- data/test/regression/test_chart_date03.rb +1 -1
- data/test/regression/test_chart_date04.rb +1 -1
- data/test/regression/test_chart_date05.rb +1 -1
- data/test/regression/test_chart_display_units01.rb +1 -1
- data/test/regression/test_chart_display_units02.rb +1 -1
- data/test/regression/test_chart_display_units03.rb +1 -1
- data/test/regression/test_chart_display_units04.rb +1 -1
- data/test/regression/test_chart_display_units05.rb +1 -1
- data/test/regression/test_chart_display_units06.rb +1 -1
- data/test/regression/test_chart_display_units07.rb +1 -1
- data/test/regression/test_chart_display_units08.rb +1 -1
- data/test/regression/test_chart_display_units09.rb +1 -1
- data/test/regression/test_chart_display_units10.rb +1 -1
- data/test/regression/test_chart_display_units11.rb +1 -1
- data/test/regression/test_chart_display_units12.rb +1 -1
- data/test/regression/test_chart_doughnut01.rb +1 -1
- data/test/regression/test_chart_doughnut02.rb +1 -1
- data/test/regression/test_chart_doughnut03.rb +1 -1
- data/test/regression/test_chart_doughnut04.rb +1 -1
- data/test/regression/test_chart_doughnut05.rb +1 -1
- data/test/regression/test_chart_doughnut06.rb +1 -1
- data/test/regression/test_chart_drop_lines01.rb +1 -1
- data/test/regression/test_chart_drop_lines02.rb +1 -1
- data/test/regression/test_chart_drop_lines03.rb +1 -1
- data/test/regression/test_chart_drop_lines04.rb +1 -1
- data/test/regression/test_chart_errorbars01.rb +1 -1
- data/test/regression/test_chart_errorbars02.rb +1 -1
- data/test/regression/test_chart_errorbars03.rb +1 -1
- data/test/regression/test_chart_errorbars04.rb +1 -1
- data/test/regression/test_chart_errorbars05.rb +1 -1
- data/test/regression/test_chart_errorbars06.rb +1 -1
- data/test/regression/test_chart_errorbars07.rb +1 -1
- data/test/regression/test_chart_errorbars08.rb +1 -1
- data/test/regression/test_chart_errorbars09.rb +1 -1
- data/test/regression/test_chart_errorbars10.rb +1 -1
- data/test/regression/test_chart_font01.rb +1 -1
- data/test/regression/test_chart_font02.rb +1 -1
- data/test/regression/test_chart_font03.rb +1 -1
- data/test/regression/test_chart_font04.rb +1 -1
- data/test/regression/test_chart_font05.rb +1 -1
- data/test/regression/test_chart_font06.rb +1 -1
- data/test/regression/test_chart_font07.rb +1 -1
- data/test/regression/test_chart_font08.rb +1 -1
- data/test/regression/test_chart_font09.rb +1 -1
- data/test/regression/test_chart_format01.rb +1 -1
- data/test/regression/test_chart_format02.rb +1 -1
- data/test/regression/test_chart_format03.rb +1 -1
- data/test/regression/test_chart_format04.rb +1 -1
- data/test/regression/test_chart_format05.rb +1 -1
- data/test/regression/test_chart_format06.rb +1 -1
- data/test/regression/test_chart_format07.rb +1 -1
- data/test/regression/test_chart_format08.rb +1 -1
- data/test/regression/test_chart_format09.rb +1 -1
- data/test/regression/test_chart_format10.rb +1 -1
- data/test/regression/test_chart_format11.rb +1 -1
- data/test/regression/test_chart_format12.rb +1 -1
- data/test/regression/test_chart_format13.rb +1 -1
- data/test/regression/test_chart_format14.rb +1 -1
- data/test/regression/test_chart_format15.rb +1 -1
- data/test/regression/test_chart_format16.rb +1 -1
- data/test/regression/test_chart_format17.rb +1 -1
- data/test/regression/test_chart_format18.rb +1 -1
- data/test/regression/test_chart_format19.rb +1 -1
- data/test/regression/test_chart_format20.rb +1 -1
- data/test/regression/test_chart_format21.rb +47 -0
- data/test/regression/test_chart_format22.rb +47 -0
- data/test/regression/test_chart_format23.rb +47 -0
- data/test/regression/test_chart_format24.rb +52 -0
- data/test/regression/test_chart_format25.rb +46 -0
- data/test/regression/test_chart_format26.rb +48 -0
- data/test/regression/test_chart_format27.rb +58 -0
- data/test/regression/test_chart_format28.rb +52 -0
- data/test/regression/test_chart_format29.rb +59 -0
- data/test/regression/test_chart_format30.rb +53 -0
- data/test/regression/test_chart_format31.rb +60 -0
- data/test/regression/test_chart_gap01.rb +1 -1
- data/test/regression/test_chart_gap02.rb +1 -1
- data/test/regression/test_chart_gap03.rb +1 -1
- data/test/regression/test_chart_gap04.rb +1 -1
- data/test/regression/test_chart_gap05.rb +1 -1
- data/test/regression/test_chart_gradient01.rb +1 -1
- data/test/regression/test_chart_gradient02.rb +1 -1
- data/test/regression/test_chart_gradient03.rb +1 -1
- data/test/regression/test_chart_gradient04.rb +1 -1
- data/test/regression/test_chart_gradient05.rb +1 -1
- data/test/regression/test_chart_gradient06.rb +1 -1
- data/test/regression/test_chart_gradient07.rb +1 -1
- data/test/regression/test_chart_gradient08.rb +1 -1
- data/test/regression/test_chart_gradient09.rb +1 -1
- data/test/regression/test_chart_gradient10.rb +1 -1
- data/test/regression/test_chart_gradient11.rb +1 -1
- data/test/regression/test_chart_gradient12.rb +1 -1
- data/test/regression/test_chart_gradient13.rb +1 -1
- data/test/regression/test_chart_gridlines01.rb +1 -1
- data/test/regression/test_chart_gridlines02.rb +1 -1
- data/test/regression/test_chart_gridlines03.rb +1 -1
- data/test/regression/test_chart_gridlines04.rb +5 -4
- data/test/regression/test_chart_gridlines05.rb +1 -1
- data/test/regression/test_chart_gridlines06.rb +1 -1
- data/test/regression/test_chart_gridlines07.rb +1 -1
- data/test/regression/test_chart_gridlines08.rb +9 -12
- data/test/regression/test_chart_gridlines09.rb +1 -1
- data/test/regression/test_chart_layout01.rb +1 -1
- data/test/regression/test_chart_layout02.rb +1 -1
- data/test/regression/test_chart_layout03.rb +1 -1
- data/test/regression/test_chart_layout04.rb +1 -1
- data/test/regression/test_chart_layout05.rb +1 -1
- data/test/regression/test_chart_layout06.rb +1 -1
- data/test/regression/test_chart_layout07.rb +1 -1
- data/test/regression/test_chart_layout08.rb +1 -1
- data/test/regression/test_chart_legend01.rb +1 -1
- data/test/regression/test_chart_legend02.rb +1 -1
- data/test/regression/test_chart_line01.rb +1 -1
- data/test/regression/test_chart_line02.rb +1 -1
- data/test/regression/test_chart_line03.rb +1 -1
- data/test/regression/test_chart_line04.rb +1 -1
- data/test/regression/test_chart_name01.rb +1 -1
- data/test/regression/test_chart_name02.rb +1 -1
- data/test/regression/test_chart_name03.rb +1 -1
- data/test/regression/test_chart_order01.rb +1 -1
- data/test/regression/test_chart_order02.rb +1 -1
- data/test/regression/test_chart_order03.rb +1 -1
- data/test/regression/test_chart_pattern01.rb +49 -0
- data/test/regression/test_chart_pattern02.rb +106 -0
- data/test/regression/test_chart_pattern03.rb +105 -0
- data/test/regression/test_chart_pattern04.rb +105 -0
- data/test/regression/test_chart_pattern05.rb +105 -0
- data/test/regression/test_chart_pattern06.rb +105 -0
- data/test/regression/test_chart_pattern07.rb +105 -0
- data/test/regression/test_chart_pattern08.rb +105 -0
- data/test/regression/test_chart_pattern09.rb +57 -0
- data/test/regression/test_chart_pattern10.rb +57 -0
- data/test/regression/test_chart_pie01.rb +1 -1
- data/test/regression/test_chart_pie02.rb +1 -1
- data/test/regression/test_chart_pie03.rb +1 -1
- data/test/regression/test_chart_pie04.rb +1 -1
- data/test/regression/test_chart_pie05.rb +1 -1
- data/test/regression/test_chart_points01.rb +1 -1
- data/test/regression/test_chart_points02.rb +1 -1
- data/test/regression/test_chart_points03.rb +1 -1
- data/test/regression/test_chart_points04.rb +1 -1
- data/test/regression/test_chart_points05.rb +1 -1
- data/test/regression/test_chart_points06.rb +1 -1
- data/test/regression/test_chart_radar01.rb +1 -1
- data/test/regression/test_chart_radar02.rb +1 -1
- data/test/regression/test_chart_radar03.rb +1 -1
- data/test/regression/test_chart_scatter01.rb +1 -1
- data/test/regression/test_chart_scatter02.rb +1 -1
- data/test/regression/test_chart_scatter03.rb +1 -1
- data/test/regression/test_chart_scatter04.rb +1 -1
- data/test/regression/test_chart_scatter05.rb +1 -1
- data/test/regression/test_chart_scatter06.rb +1 -1
- data/test/regression/test_chart_scatter07.rb +1 -1
- data/test/regression/test_chart_scatter08.rb +1 -1
- data/test/regression/test_chart_scatter09.rb +1 -1
- data/test/regression/test_chart_scatter10.rb +1 -1
- data/test/regression/test_chart_scatter11.rb +1 -1
- data/test/regression/test_chart_scatter12.rb +1 -1
- data/test/regression/test_chart_scatter13.rb +1 -1
- data/test/regression/test_chart_scatter14.rb +1 -1
- data/test/regression/test_chart_scatter15.rb +1 -1
- data/test/regression/test_chart_size01.rb +1 -1
- data/test/regression/test_chart_size02.rb +1 -1
- data/test/regression/test_chart_size03.rb +1 -1
- data/test/regression/test_chart_size04.rb +1 -1
- data/test/regression/test_chart_size05.rb +1 -1
- data/test/regression/test_chart_sparse01.rb +1 -1
- data/test/regression/test_chart_stock01.rb +1 -1
- data/test/regression/test_chart_stock02.rb +1 -1
- data/test/regression/test_chart_str01.rb +1 -1
- data/test/regression/test_chart_str02.rb +1 -1
- data/test/regression/test_chart_table01.rb +1 -1
- data/test/regression/test_chart_table02.rb +1 -1
- data/test/regression/test_chart_table03.rb +56 -0
- data/test/regression/test_chart_title01.rb +1 -1
- data/test/regression/test_chart_title02.rb +1 -1
- data/test/regression/test_chartsheet01.rb +1 -1
- data/test/regression/test_chartsheet02.rb +1 -1
- data/test/regression/test_chartsheet03.rb +1 -1
- data/test/regression/test_chartsheet04.rb +1 -1
- data/test/regression/test_chartsheet05.rb +1 -1
- data/test/regression/test_chartsheet06.rb +1 -1
- data/test/regression/test_chartsheet07.rb +1 -1
- data/test/regression/test_chartsheet08.rb +1 -1
- data/test/regression/test_chartsheet09.rb +1 -1
- data/test/regression/test_comment01.rb +1 -1
- data/test/regression/test_comment02.rb +1 -1
- data/test/regression/test_comment03.rb +1 -1
- data/test/regression/test_comment04.rb +1 -1
- data/test/regression/test_comment06.rb +1 -1
- data/test/regression/test_comment07.rb +1 -1
- data/test/regression/test_comment08.rb +1 -1
- data/test/regression/test_comment09.rb +1 -1
- data/test/regression/test_comment10.rb +1 -1
- data/test/regression/test_comment11.rb +1 -1
- data/test/regression/test_comment12.rb +1 -1
- data/test/regression/test_cond_format01.rb +1 -1
- data/test/regression/test_cond_format02.rb +1 -1
- data/test/regression/test_cond_format03.rb +1 -1
- data/test/regression/test_cond_format04.rb +1 -1
- data/test/regression/test_cond_format05.rb +1 -1
- data/test/regression/test_cond_format06.rb +1 -1
- data/test/regression/test_cond_format07.rb +1 -1
- data/test/regression/test_cond_format08.rb +1 -1
- data/test/regression/test_cond_format10.rb +1 -1
- data/test/regression/test_cond_format11.rb +1 -1
- data/test/regression/test_cond_format12.rb +1 -1
- data/test/regression/test_cond_format13.rb +1 -1
- data/test/regression/test_cond_format14.rb +42 -0
- data/test/regression/test_cond_format15.rb +53 -0
- data/test/regression/test_cond_format16.rb +53 -0
- data/test/regression/test_cond_format17.rb +37 -0
- data/test/regression/test_cond_format18.rb +136 -0
- data/test/regression/test_custom_colors01.rb +1 -1
- data/test/regression/test_data_validation01.rb +1 -1
- data/test/regression/test_data_validation02.rb +1 -1
- data/test/regression/test_data_validation03.rb +1 -1
- data/test/regression/test_data_validation04.rb +2 -2
- data/test/regression/test_data_validation05.rb +2 -2
- data/test/regression/test_data_validation08.rb +2 -2
- data/test/regression/test_date_1904_01.rb +2 -2
- data/test/regression/test_date_1904_02.rb +1 -1
- data/test/regression/test_date_examples01.rb +1 -1
- data/test/regression/test_default_format01.rb +1 -1
- data/test/regression/test_default_row01.rb +1 -1
- data/test/regression/test_default_row02.rb +1 -1
- data/test/regression/test_default_row03.rb +1 -1
- data/test/regression/test_default_row04.rb +1 -1
- data/test/regression/test_default_row05.rb +32 -0
- data/test/regression/test_defined_name01.rb +1 -1
- data/test/regression/test_defined_name02.rb +1 -1
- data/test/regression/test_defined_name03.rb +1 -1
- data/test/regression/test_defined_name04.rb +15 -15
- data/test/regression/test_escapes01.rb +1 -1
- data/test/regression/test_escapes02.rb +1 -1
- data/test/regression/test_escapes03.rb +1 -1
- data/test/regression/test_escapes04.rb +4 -1
- data/test/regression/test_escapes05.rb +4 -1
- data/test/regression/test_escapes06.rb +1 -1
- data/test/regression/test_escapes07.rb +4 -1
- data/test/regression/test_escapes08.rb +4 -1
- data/test/regression/test_excel2003_style01.rb +1 -1
- data/test/regression/test_excel2003_style02.rb +1 -1
- data/test/regression/test_excel2003_style03.rb +1 -1
- data/test/regression/test_excel2003_style04.rb +1 -1
- data/test/regression/test_excel2003_style05.rb +1 -1
- data/test/regression/test_excel2003_style06.rb +1 -1
- data/test/regression/test_excel2003_style07.rb +1 -1
- data/test/regression/test_excel2003_style08.rb +1 -1
- data/test/regression/test_firstsheet01.rb +1 -1
- data/test/regression/test_fit_to_pages01.rb +1 -1
- data/test/regression/test_fit_to_pages02.rb +1 -1
- data/test/regression/test_fit_to_pages03.rb +1 -1
- data/test/regression/test_fit_to_pages04.rb +1 -1
- data/test/regression/test_fit_to_pages05.rb +1 -1
- data/test/regression/test_format01.rb +1 -1
- data/test/regression/test_format02.rb +1 -1
- data/test/regression/test_format03.rb +1 -1
- data/test/regression/test_format04.rb +1 -1
- data/test/regression/test_format05.rb +1 -1
- data/test/regression/test_format11.rb +1 -1
- data/test/regression/test_format12.rb +1 -1
- data/test/regression/test_format13.rb +31 -0
- data/test/regression/test_format14.rb +26 -0
- data/test/regression/test_formula_results01.rb +1 -1
- data/test/regression/test_gridlines01.rb +1 -1
- data/test/regression/test_header01.rb +1 -1
- data/test/regression/test_header02.rb +1 -1
- data/test/regression/test_header03.rb +1 -1
- data/test/regression/test_header_image01.rb +1 -1
- data/test/regression/test_header_image02.rb +1 -1
- data/test/regression/test_header_image03.rb +1 -1
- data/test/regression/test_header_image04.rb +1 -1
- data/test/regression/test_header_image05.rb +1 -1
- data/test/regression/test_header_image06.rb +1 -1
- data/test/regression/test_header_image07.rb +1 -1
- data/test/regression/test_header_image08.rb +1 -1
- data/test/regression/test_header_image09.rb +1 -1
- data/test/regression/test_header_image10.rb +1 -1
- data/test/regression/test_header_image11.rb +1 -1
- data/test/regression/test_header_image12.rb +1 -1
- data/test/regression/test_header_image13.rb +1 -1
- data/test/regression/test_header_image14.rb +1 -1
- data/test/regression/test_hide01.rb +1 -1
- data/test/regression/test_hyperlink01.rb +4 -1
- data/test/regression/test_hyperlink02.rb +4 -1
- data/test/regression/test_hyperlink03.rb +5 -1
- data/test/regression/test_hyperlink04.rb +4 -1
- data/test/regression/test_hyperlink05.rb +4 -1
- data/test/regression/test_hyperlink06.rb +4 -1
- data/test/regression/test_hyperlink07.rb +4 -1
- data/test/regression/test_hyperlink08.rb +4 -1
- data/test/regression/test_hyperlink09.rb +4 -1
- data/test/regression/test_hyperlink10.rb +4 -1
- data/test/regression/test_hyperlink11.rb +4 -1
- data/test/regression/test_hyperlink12.rb +4 -1
- data/test/regression/test_hyperlink13.rb +4 -1
- data/test/regression/test_hyperlink14.rb +4 -1
- data/test/regression/test_hyperlink15.rb +4 -1
- data/test/regression/test_hyperlink16.rb +4 -1
- data/test/regression/test_hyperlink17.rb +4 -1
- data/test/regression/test_hyperlink18.rb +4 -1
- data/test/regression/test_hyperlink20.rb +4 -1
- data/test/regression/test_hyperlink21.rb +4 -1
- data/test/regression/test_hyperlink22.rb +4 -1
- data/test/regression/test_hyperlink23.rb +4 -1
- data/test/regression/test_hyperlink24.rb +4 -1
- data/test/regression/test_hyperlink25.rb +30 -0
- data/test/regression/test_hyperlink26.rb +30 -0
- data/test/regression/test_hyperlink27.rb +27 -0
- data/test/regression/test_hyperlink28.rb +50 -0
- data/test/regression/test_hyperlink29.rb +27 -0
- data/test/regression/test_hyperlink30.rb +36 -0
- data/test/regression/test_image01.rb +1 -1
- data/test/regression/test_image02.rb +1 -1
- data/test/regression/test_image03.rb +1 -1
- data/test/regression/test_image04.rb +1 -1
- data/test/regression/test_image05.rb +1 -1
- data/test/regression/test_image06.rb +1 -1
- data/test/regression/test_image07.rb +1 -1
- data/test/regression/test_image08.rb +1 -1
- data/test/regression/test_image09.rb +1 -1
- data/test/regression/test_image10.rb +1 -1
- data/test/regression/test_image11.rb +1 -1
- data/test/regression/test_image12.rb +1 -1
- data/test/regression/test_image13.rb +1 -1
- data/test/regression/test_image14.rb +1 -1
- data/test/regression/test_image15.rb +1 -1
- data/test/regression/test_image16.rb +1 -1
- data/test/regression/test_image17.rb +1 -1
- data/test/regression/test_image18.rb +1 -1
- data/test/regression/test_image19.rb +1 -1
- data/test/regression/test_image22.rb +1 -1
- data/test/regression/test_image23.rb +1 -1
- data/test/regression/test_image24.rb +1 -1
- data/test/regression/test_image25.rb +1 -1
- data/test/regression/test_image26.rb +1 -1
- data/test/regression/test_image27.rb +1 -1
- data/test/regression/test_image28.rb +2 -2
- data/test/regression/test_image29.rb +2 -2
- data/test/regression/test_image30.rb +1 -1
- data/test/regression/test_image31.rb +1 -1
- data/test/regression/test_image32.rb +1 -1
- data/test/regression/test_image33.rb +2 -2
- data/test/regression/test_image35.rb +26 -0
- data/test/regression/test_landscape01.rb +1 -1
- data/test/regression/test_macro01.rb +1 -1
- data/test/regression/test_merge_cells01.rb +1 -1
- data/test/regression/test_merge_range01.rb +1 -1
- data/test/regression/test_merge_range02.rb +1 -1
- data/test/regression/test_merge_range03.rb +1 -1
- data/test/regression/test_merge_range04.rb +1 -1
- data/test/regression/test_merge_range05.rb +1 -1
- data/test/regression/test_outline01.rb +1 -1
- data/test/regression/test_outline02.rb +1 -1
- data/test/regression/test_outline03.rb +1 -1
- data/test/regression/test_outline04.rb +1 -1
- data/test/regression/test_outline05.rb +1 -1
- data/test/regression/test_outline06.rb +1 -1
- data/test/regression/test_page_breaks01.rb +1 -1
- data/test/regression/test_page_breaks02.rb +1 -1
- data/test/regression/test_page_breaks03.rb +1 -1
- data/test/regression/test_page_breaks04.rb +1 -1
- data/test/regression/test_page_breaks05.rb +1 -1
- data/test/regression/test_page_breaks06.rb +1 -1
- data/test/regression/test_page_view01.rb +1 -1
- data/test/regression/test_panes01.rb +1 -1
- data/test/regression/test_print_across01.rb +1 -1
- data/test/regression/test_print_area01.rb +1 -1
- data/test/regression/test_print_area02.rb +1 -1
- data/test/regression/test_print_area03.rb +1 -1
- data/test/regression/test_print_area04.rb +1 -1
- data/test/regression/test_print_area05.rb +1 -1
- data/test/regression/test_print_area06.rb +1 -1
- data/test/regression/test_print_area07.rb +1 -1
- data/test/regression/test_print_options01.rb +1 -1
- data/test/regression/test_print_options02.rb +1 -1
- data/test/regression/test_print_options03.rb +1 -1
- data/test/regression/test_print_options04.rb +1 -1
- data/test/regression/test_print_options05.rb +1 -1
- data/test/regression/test_print_options06.rb +1 -1
- data/test/regression/test_print_options07.rb +1 -1
- data/test/regression/test_print_scale01.rb +1 -1
- data/test/regression/test_print_scale02.rb +1 -1
- data/test/regression/test_properties01.rb +2 -5
- data/test/regression/test_properties02.rb +2 -5
- data/test/regression/test_properties03.rb +26 -0
- data/test/regression/test_properties04.rb +61 -0
- data/test/regression/test_properties05.rb +30 -0
- data/test/regression/test_protect01.rb +1 -1
- data/test/regression/test_protect02.rb +1 -1
- data/test/regression/test_protect03.rb +1 -1
- data/test/regression/test_quote_name01.rb +1 -1
- data/test/regression/test_quote_name03.rb +1 -1
- data/test/regression/test_quote_name04.rb +1 -1
- data/test/regression/test_repeat01.rb +1 -1
- data/test/regression/test_repeat02.rb +1 -1
- data/test/regression/test_repeat03.rb +1 -1
- data/test/regression/test_repeat04.rb +1 -1
- data/test/regression/test_repeat05.rb +1 -1
- data/test/regression/test_rich_string01.rb +1 -1
- data/test/regression/test_rich_string02.rb +1 -1
- data/test/regression/test_rich_string03.rb +1 -1
- data/test/regression/test_rich_string04.rb +1 -1
- data/test/regression/test_rich_string05.rb +1 -1
- data/test/regression/test_rich_string06.rb +1 -1
- data/test/regression/test_rich_string07.rb +1 -1
- data/test/regression/test_rich_string08.rb +1 -1
- data/test/regression/test_rich_string09.rb +1 -1
- data/test/regression/test_rich_string10.rb +1 -1
- data/test/regression/test_rich_string11.rb +1 -1
- data/test/regression/test_rich_string12.rb +1 -1
- data/test/regression/test_row_col_format01.rb +1 -1
- data/test/regression/test_row_col_format02.rb +1 -1
- data/test/regression/test_row_col_format03.rb +1 -1
- data/test/regression/test_row_col_format04.rb +1 -1
- data/test/regression/test_row_col_format05.rb +1 -1
- data/test/regression/test_row_col_format06.rb +1 -1
- data/test/regression/test_row_col_format07.rb +1 -1
- data/test/regression/test_row_col_format08.rb +1 -1
- data/test/regression/test_row_col_format09.rb +1 -1
- data/test/regression/test_row_col_format10.rb +1 -1
- data/test/regression/test_row_col_format11.rb +1 -1
- data/test/regression/test_row_col_format12.rb +1 -1
- data/test/regression/test_row_col_format13.rb +1 -1
- data/test/regression/test_row_col_format14.rb +1 -1
- data/test/regression/test_selection01.rb +1 -1
- data/test/regression/test_selection02.rb +1 -1
- data/test/regression/test_set_column01.rb +1 -1
- data/test/regression/test_set_column02.rb +1 -1
- data/test/regression/test_set_column03.rb +1 -1
- data/test/regression/test_set_column04.rb +1 -1
- data/test/regression/test_set_column05.rb +1 -1
- data/test/regression/test_set_column06.rb +1 -1
- data/test/regression/test_set_column07.rb +1 -1
- data/test/regression/test_set_column08.rb +1 -1
- data/test/regression/test_set_column09.rb +1 -1
- data/test/regression/test_set_print_scale01.rb +1 -1
- data/test/regression/test_set_start_page01.rb +1 -1
- data/test/regression/test_set_start_page02.rb +1 -1
- data/test/regression/test_set_start_page03.rb +1 -1
- data/test/regression/test_shape01.rb +1 -1
- data/test/regression/test_shape02.rb +1 -1
- data/test/regression/test_shape03.rb +1 -1
- data/test/regression/test_shape04.rb +1 -1
- data/test/regression/test_shape_connect01.rb +1 -1
- data/test/regression/test_shape_connect02.rb +1 -1
- data/test/regression/test_shape_connect03.rb +1 -1
- data/test/regression/test_shape_connect04.rb +1 -1
- data/test/regression/test_shape_scale01.rb +1 -1
- data/test/regression/test_shape_stencil01.rb +1 -1
- data/test/regression/test_shared_strings01.rb +1 -1
- data/test/regression/test_shared_strings02.rb +1 -1
- data/test/regression/test_simple01.rb +1 -1
- data/test/regression/test_simple02.rb +1 -1
- data/test/regression/test_simple03.rb +1 -1
- data/test/regression/test_simple04.rb +1 -1
- data/test/regression/test_simple05.rb +1 -1
- data/test/regression/test_tab_color01.rb +1 -1
- data/test/regression/test_table01.rb +1 -1
- data/test/regression/test_table02.rb +1 -1
- data/test/regression/test_table03.rb +4 -1
- data/test/regression/test_table04.rb +4 -1
- data/test/regression/test_table05.rb +4 -1
- data/test/regression/test_table06.rb +4 -1
- data/test/regression/test_table07.rb +1 -1
- data/test/regression/test_table08.rb +1 -1
- data/test/regression/test_table09.rb +1 -1
- data/test/regression/test_table10.rb +1 -1
- data/test/regression/test_table11.rb +1 -1
- data/test/regression/test_table12.rb +1 -1
- data/test/regression/test_table13.rb +1 -1
- data/test/regression/test_table14.rb +1 -1
- data/test/regression/test_table15.rb +1 -1
- data/test/regression/test_table16.rb +1 -1
- data/test/regression/test_table17.rb +1 -1
- data/test/regression/test_table20.rb +34 -0
- data/test/regression/test_table21.rb +36 -0
- data/test/regression/test_table22.rb +32 -0
- data/test/regression/test_tutorial01.rb +1 -1
- data/test/regression/test_tutorial02.rb +1 -1
- data/test/regression/test_tutorial03.rb +1 -1
- data/test/regression/test_types02.rb +25 -0
- data/test/regression/test_types08.rb +31 -0
- data/test/regression/test_update_range_format_with_params.rb +1 -1
- data/test/regression/test_urls_as_strings.rb +1 -1
- data/test/regression/test_utf8_01.rb +1 -1
- data/test/regression/test_utf8_03.rb +1 -1
- data/test/regression/test_utf8_04.rb +1 -1
- data/test/regression/test_utf8_05.rb +1 -1
- data/test/regression/test_utf8_06.rb +1 -1
- data/test/regression/test_utf8_07.rb +1 -1
- data/test/regression/test_utf8_08.rb +1 -1
- data/test/regression/test_utf8_09.rb +1 -1
- data/test/regression/test_utf8_10.rb +1 -1
- data/test/regression/test_utf8_11.rb +23 -0
- data/test/regression/test_vml01.rb +1 -1
- data/test/regression/test_vml02.rb +1 -1
- data/test/regression/test_vml03.rb +1 -1
- data/test/regression/xlsx_files/chart_axis40.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis41.xlsx +0 -0
- data/test/regression/xlsx_files/chart_chartarea05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_chartarea06.xlsx +0 -0
- data/test/regression/xlsx_files/chart_combined09.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels25.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format21.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format22.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format23.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format24.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format25.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format26.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format27.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format28.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format29.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format30.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format31.xlsx +0 -0
- data/test/regression/xlsx_files/chart_pattern01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_pattern02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_pattern03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_pattern04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_pattern05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_pattern06.xlsx +0 -0
- data/test/regression/xlsx_files/chart_pattern07.xlsx +0 -0
- data/test/regression/xlsx_files/chart_pattern08.xlsx +0 -0
- data/test/regression/xlsx_files/chart_pattern09.xlsx +0 -0
- data/test/regression/xlsx_files/chart_pattern10.xlsx +0 -0
- data/test/regression/xlsx_files/chart_table03.xlsx +0 -0
- data/test/regression/xlsx_files/cond_format14.xlsx +0 -0
- data/test/regression/xlsx_files/cond_format15.xlsx +0 -0
- data/test/regression/xlsx_files/cond_format16.xlsx +0 -0
- data/test/regression/xlsx_files/cond_format17.xlsx +0 -0
- data/test/regression/xlsx_files/cond_format18.xlsx +0 -0
- data/test/regression/xlsx_files/date_1904_01.xlsx +0 -0
- data/test/regression/xlsx_files/default_row05.xlsx +0 -0
- data/test/regression/xlsx_files/format13.xlsx +0 -0
- data/test/regression/xlsx_files/format14.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink25.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink26.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink27.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink28.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink29.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink30.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink31.xlsx +0 -0
- data/test/regression/xlsx_files/image35.xlsx +0 -0
- data/test/regression/xlsx_files/properties03.xlsx +0 -0
- data/test/regression/xlsx_files/properties04.xlsx +0 -0
- data/test/regression/xlsx_files/properties05.xlsx +0 -0
- data/test/regression/xlsx_files/table21.xlsx +0 -0
- data/test/regression/xlsx_files/table22.xlsx +0 -0
- data/test/regression/xlsx_files/types02.xlsx +0 -0
- data/test/regression/xlsx_files/types08.xlsx +0 -0
- data/test/regression/xlsx_files/utf8_11.xlsx +0 -0
- data/test/test_delete_files.rb +3 -3
- data/test/test_example_match.rb +1 -1
- data/test/test_option_hash_for_workbook.rb +1 -1
- data/test/test_xml_writer_simple.rb +1 -1
- data/test/workbook/test_define_name.rb +1 -1
- data/test/workbook/test_get_chart_range.rb +3 -5
- data/test/workbook/test_sort_defined_names.rb +1 -1
- data/test/workbook/test_workbook_01.rb +1 -1
- data/test/workbook/test_workbook_02.rb +1 -1
- data/test/workbook/test_workbook_03.rb +1 -1
- data/test/workbook/test_worksheet_by_name.rb +35 -0
- data/test/workbook/test_write_calc_pr.rb +1 -1
- data/test/workbook/test_write_defined_name.rb +1 -1
- data/test/workbook/test_write_defined_names.rb +1 -1
- data/test/workbook/test_write_workbook_view.rb +81 -0
- data/test/worksheet/test_calculate_spans.rb +1 -1
- data/test/worksheet/test_cond_format_01.rb +1 -1
- data/test/worksheet/test_cond_format_02.rb +1 -1
- data/test/worksheet/test_cond_format_03.rb +1 -1
- data/test/worksheet/test_cond_format_04.rb +1 -1
- data/test/worksheet/test_cond_format_05.rb +1 -1
- data/test/worksheet/test_cond_format_06.rb +1 -1
- data/test/worksheet/test_cond_format_07.rb +1 -1
- data/test/worksheet/test_cond_format_08.rb +1 -1
- data/test/worksheet/test_cond_format_09.rb +1 -1
- data/test/worksheet/test_cond_format_10.rb +1 -1
- data/test/worksheet/test_cond_format_11.rb +1 -1
- data/test/worksheet/test_cond_format_12.rb +1 -1
- data/test/worksheet/test_cond_format_13.rb +1 -1
- data/test/worksheet/test_cond_format_14.rb +1 -1
- data/test/worksheet/test_cond_format_15.rb +1 -1
- data/test/worksheet/test_cond_format_16.rb +1 -1
- data/test/worksheet/test_cond_format_17.rb +1 -1
- data/test/worksheet/test_cond_format_18.rb +1 -1
- data/test/worksheet/test_cond_format_19.rb +1 -1
- data/test/worksheet/test_cond_format_20.rb +1 -1
- data/test/worksheet/test_cond_format_21.rb +2 -2
- data/test/worksheet/test_cond_format_22.rb +266 -0
- data/test/worksheet/test_cond_format_23.rb +242 -0
- data/test/worksheet/test_cond_format_24.rb +303 -0
- data/test/worksheet/test_convert_date_time_01.rb +1 -1
- data/test/worksheet/test_convert_date_time_02.rb +1 -1
- data/test/worksheet/test_convert_date_time_03.rb +1 -1
- data/test/worksheet/test_convert_date_time_04.rb +1 -1
- data/test/worksheet/test_data_bar_01.rb +53 -0
- data/test/worksheet/test_data_bar_02.rb +79 -0
- data/test/worksheet/test_data_bar_03.rb +147 -0
- data/test/worksheet/test_data_bar_04.rb +145 -0
- data/test/worksheet/test_data_bar_05.rb +147 -0
- data/test/worksheet/test_data_bar_06.rb +145 -0
- data/test/worksheet/test_data_bar_07.rb +146 -0
- data/test/worksheet/test_data_bar_08.rb +54 -0
- data/test/worksheet/test_data_bar_09.rb +80 -0
- data/test/worksheet/test_data_bar_10.rb +165 -0
- data/test/worksheet/test_data_bar_11.rb +167 -0
- data/test/worksheet/test_data_bar_12.rb +104 -0
- data/test/worksheet/test_extract_filter_tokens.rb +1 -1
- data/test/worksheet/test_parse_filter_expression.rb +1 -1
- data/test/worksheet/test_position_object.rb +1 -1
- data/test/worksheet/test_repeat_formula.rb +1 -1
- data/test/worksheet/test_sparkline_01.rb +1 -1
- data/test/worksheet/test_sparkline_02.rb +1 -1
- data/test/worksheet/test_sparkline_03.rb +1 -1
- data/test/worksheet/test_sparkline_04.rb +1 -1
- data/test/worksheet/test_sparkline_05.rb +1 -1
- data/test/worksheet/test_sparkline_06.rb +1 -1
- data/test/worksheet/test_sparkline_07.rb +1 -1
- data/test/worksheet/test_sparkline_08.rb +1 -1
- data/test/worksheet/test_sparkline_09.rb +1 -1
- data/test/worksheet/test_sparkline_10.rb +1 -1
- data/test/worksheet/test_sparkline_11.rb +1 -1
- data/test/worksheet/test_sparkline_12.rb +1 -1
- data/test/worksheet/test_update_format_methods.rb +9 -29
- data/test/worksheet/test_worksheet_01.rb +1 -1
- data/test/worksheet/test_worksheet_02.rb +1 -1
- data/test/worksheet/test_worksheet_03.rb +1 -1
- data/test/worksheet/test_worksheet_04.rb +1 -1
- data/test/worksheet/test_write_array_formula_01.rb +1 -8
- data/test/worksheet/test_write_autofilter.rb +1 -1
- data/test/worksheet/test_write_brk.rb +1 -1
- data/test/worksheet/test_write_cell.rb +1 -1
- data/test/worksheet/test_write_cell_value.rb +1 -1
- data/test/worksheet/test_write_col_breaks.rb +1 -1
- data/test/worksheet/test_write_col_info.rb +1 -1
- data/test/worksheet/test_write_conditional_formatting.rb +1 -1
- data/test/worksheet/test_write_custom_filter.rb +1 -1
- data/test/worksheet/test_write_custom_filters.rb +1 -1
- data/test/worksheet/test_write_data_validation_01.rb +1 -1
- data/test/worksheet/test_write_data_validation_02.rb +28 -1
- data/test/worksheet/test_write_dimension.rb +1 -1
- data/test/worksheet/test_write_filter.rb +1 -1
- data/test/worksheet/test_write_filter_column.rb +1 -1
- data/test/worksheet/test_write_filters.rb +1 -1
- data/test/worksheet/test_write_formula_does_not_change_formula_string.rb +1 -1
- data/test/worksheet/test_write_header_footer.rb +1 -1
- data/test/worksheet/test_write_hyperlink.rb +1 -8
- data/test/worksheet/test_write_legacy_drawing.rb +1 -1
- data/test/worksheet/test_write_merge_cell.rb +1 -1
- data/test/worksheet/test_write_merge_cells.rb +1 -1
- data/test/worksheet/test_write_methods.rb +68 -177
- data/test/worksheet/test_write_page_margins.rb +1 -1
- data/test/worksheet/test_write_page_set_up_pr.rb +1 -1
- data/test/worksheet/test_write_page_setup.rb +1 -1
- data/test/worksheet/test_write_pane.rb +1 -1
- data/test/worksheet/test_write_phonetic_pr.rb +1 -1
- data/test/worksheet/test_write_print_options.rb +1 -1
- data/test/worksheet/test_write_row_breaks.rb +1 -1
- data/test/worksheet/test_write_row_element.rb +1 -1
- data/test/worksheet/test_write_selection.rb +1 -1
- data/test/worksheet/test_write_sheet_calc_pr.rb +1 -1
- data/test/worksheet/test_write_sheet_data.rb +1 -1
- data/test/worksheet/test_write_sheet_format_pr.rb +1 -1
- data/test/worksheet/test_write_sheet_pr.rb +1 -1
- data/test/worksheet/test_write_sheet_protection.rb +1 -1
- data/test/worksheet/test_write_sheet_view.rb +1 -1
- data/test/worksheet/test_write_sheet_view1.rb +1 -1
- data/test/worksheet/test_write_sheet_view2.rb +1 -1
- data/test/worksheet/test_write_sheet_view3.rb +1 -1
- data/test/worksheet/test_write_sheet_view4.rb +1 -1
- data/test/worksheet/test_write_sheet_view5.rb +1 -1
- data/test/worksheet/test_write_sheet_view6.rb +1 -1
- data/test/worksheet/test_write_sheet_view7.rb +1 -1
- data/test/worksheet/test_write_sheet_view8.rb +1 -1
- data/test/worksheet/test_write_sheet_view9.rb +1 -1
- data/test/worksheet/test_write_tab_color.rb +1 -1
- data/test/worksheet/test_write_worksheet_attributes.rb +1 -1
- data/write_xlsx.gemspec +2 -2
- metadata +248 -15
- data/test/test_col_name.rb +0 -13
- data/test/workbook/test_workbook_new.rb +0 -18
- data/test/worksheet/test_format.rb +0 -17
- data/test/worksheet/test_write_multiline_string_with_url.rb +0 -30
- data/test/worksheet/test_write_url.rb +0 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d1ecd38fb615885768458a04b082d759437fbaf7fb2e07900cc558d18e400e51
|
4
|
+
data.tar.gz: d1fa5e1696685c9bba199b4ee922c488144f5a2f852644e24fcedd38fed29035
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1162adaf9f347ef7f9e986b0596877edc9a4e059b1055e5913c576583017af41b78710c44252c2ced77b06dcdd818af269f3c98282e9bc767f211237e8313fac
|
7
|
+
data.tar.gz: cd4eb41156f364e4685487ae32876d8b35d7907f7f7068442fb22d2afc6a24217794bea5e571720d6db14b80b7c7368ac08502071d5290cc696cd80588901cdd
|
data/.travis.yml
CHANGED
@@ -1,7 +1,50 @@
|
|
1
1
|
language: ruby
|
2
2
|
rvm:
|
3
|
+
- 3.0.0
|
4
|
+
- 2.7.2
|
5
|
+
- 2.7.1
|
6
|
+
- 2.7.0
|
7
|
+
- 2.6.6
|
8
|
+
- 2.6.5
|
9
|
+
- 2.6.4
|
10
|
+
- 2.6.3
|
11
|
+
- 2.6.2
|
12
|
+
- 2.6.1
|
13
|
+
- 2.6.0
|
14
|
+
- 2.5.8
|
15
|
+
- 2.5.7
|
16
|
+
- 2.5.6
|
17
|
+
- 2.5.5
|
18
|
+
- 2.5.4
|
19
|
+
- 2.5.3
|
20
|
+
- 2.5.2
|
21
|
+
- 2.5.1
|
22
|
+
- 2.5.0
|
23
|
+
- 2.4.10
|
24
|
+
- 2.4.9
|
25
|
+
- 2.4.8
|
26
|
+
- 2.4.7
|
27
|
+
- 2.4.6
|
28
|
+
- 2.4.5
|
29
|
+
- 2.4.4
|
30
|
+
- 2.4.3
|
31
|
+
- 2.4.2
|
32
|
+
- 2.4.1
|
33
|
+
- 2.4.0
|
34
|
+
- 2.3.8
|
35
|
+
- 2.3.7
|
36
|
+
- 2.3.6
|
37
|
+
- 2.3.5
|
38
|
+
- 2.3.4
|
39
|
+
- 2.3.3
|
40
|
+
- 2.3.2
|
3
41
|
- 2.3.1
|
4
42
|
- 2.3.0
|
43
|
+
- 2.2.10
|
44
|
+
- 2.2.9
|
45
|
+
- 2.2.8
|
46
|
+
- 2.2.7
|
47
|
+
- 2.2.6
|
5
48
|
- 2.2.5
|
6
49
|
- 2.2.4
|
7
50
|
- 2.2.3
|
data/Changes
CHANGED
@@ -1,5 +1,79 @@
|
|
1
1
|
Change history of write_xlsx rubygem.
|
2
2
|
|
3
|
+
2021-01-02 v0.97.0
|
4
|
+
|
5
|
+
Added Excel 2010 data bar features such as solid fills and control over
|
6
|
+
the display of negative values.
|
7
|
+
|
8
|
+
Added default formatting for hyperlinks if none is specified. The format
|
9
|
+
is the Excel hyperlink style so links change colour after they are
|
10
|
+
clicked.
|
11
|
+
|
12
|
+
Fixed missing plotarea formatting in pie/doughnut charts.
|
13
|
+
|
14
|
+
2020-12-31 v0.96.0
|
15
|
+
|
16
|
+
Added icon sets to conditional formatting.
|
17
|
+
|
18
|
+
2020-12-30 v0.95.0
|
19
|
+
|
20
|
+
Added workbook set_size() method.
|
21
|
+
|
22
|
+
2020-12-30 v0.94.0
|
23
|
+
|
24
|
+
Added font support to chart tables.
|
25
|
+
|
26
|
+
2020-12-30 v0.93.0
|
27
|
+
|
28
|
+
Added trendline properties: intercept, display_equation and
|
29
|
+
display_r_squared.
|
30
|
+
|
31
|
+
2020-12-30 v0.92.0
|
32
|
+
|
33
|
+
Fix for insert_image issue when handling images with zero dpi.
|
34
|
+
|
35
|
+
2020-12-30 v0.91.0
|
36
|
+
|
37
|
+
Add set_custom_property() workbook method to set custom document
|
38
|
+
properties.
|
39
|
+
|
40
|
+
2020-12-28 v0.90.0
|
41
|
+
|
42
|
+
Added worksheet_by_name() workbook method to retrieve a worksheet
|
43
|
+
in a workbook by name.
|
44
|
+
|
45
|
+
Fixed issue where internal file creation and modification dates where
|
46
|
+
in the local timezone instead of UTC.
|
47
|
+
|
48
|
+
Fixed issue with "external:" urls with space in sheetname.
|
49
|
+
|
50
|
+
Fixed issue where Unicode full-width number strings were treated as
|
51
|
+
numbers in write().
|
52
|
+
|
53
|
+
2020-12-27 v0.89.0
|
54
|
+
|
55
|
+
Added write_boolean() worksheet method to write Excel boolean values.
|
56
|
+
|
57
|
+
|
58
|
+
2020-12-26 v0.88.0
|
59
|
+
|
60
|
+
Added transparency option to solid fills in chart areas.
|
61
|
+
|
62
|
+
Added options to configure chart axis tick placement.
|
63
|
+
|
64
|
+
2020-12-26 v0.87.0
|
65
|
+
|
66
|
+
Added chart pattern and gradient fills.
|
67
|
+
|
68
|
+
Added option to set chart tick interval.
|
69
|
+
|
70
|
+
Add checks for valid and non-duplicate worksheet table names.
|
71
|
+
|
72
|
+
Added support for table header formatting and a fix for wrapped lines in
|
73
|
+
the header.
|
74
|
+
|
75
|
+
use minitest instead of test-unit
|
76
|
+
|
3
77
|
2020-11-01 v0.86.0
|
4
78
|
Fix for images with negative offsets.
|
5
79
|
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -5,11 +5,11 @@
|
|
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-0.
|
8
|
+
[Excel::Writer::XLSX-0.97](https://github.com/jmcnamara/excel-writer-xlsx) .
|
9
9
|
|
10
10
|
## Description
|
11
11
|
|
12
|
-
Reference doc :
|
12
|
+
Reference doc : https://cxn03651.github.io/write_xlsx/
|
13
13
|
|
14
14
|
The WriteXLSX supports the following features:
|
15
15
|
* Multiple worksheets
|
@@ -85,13 +85,13 @@ 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-2020 Hideo NAKAMURA.
|
89
89
|
|
90
90
|
See LICENSE.txt for further details.
|
91
91
|
|
92
92
|
## Contributing to write_xlsx
|
93
93
|
|
94
|
-
* repsitory:
|
94
|
+
* repsitory: https://github.com/cxn03651/write_xlsx
|
95
95
|
* Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
|
96
96
|
* Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
|
97
97
|
* Fork the project
|
data/examples/a_simple.rb
CHANGED
@@ -34,11 +34,6 @@
|
|
34
34
|
worksheet.write(8, 0, '=IF(A5>3,"Yes", "No")')
|
35
35
|
|
36
36
|
# Write a hyperlink
|
37
|
-
|
38
|
-
:color => 'blue',
|
39
|
-
:underline => 1
|
40
|
-
)
|
41
|
-
|
42
|
-
worksheet.write(10, 0, 'http://www.ruby-lang.org/', hyperlink_format)
|
37
|
+
worksheet.write(10, 0, 'http://www.ruby-lang.org/')
|
43
38
|
|
44
39
|
workbook.close
|
data/examples/chart_combined.rb
CHANGED
@@ -99,7 +99,9 @@
|
|
99
99
|
column_chart2.set_title(:name => 'Combine chart - secondary Y axis')
|
100
100
|
column_chart2.set_x_axis(:name => 'Test number')
|
101
101
|
column_chart2.set_y_axis(:name => 'Sample length (mm)')
|
102
|
-
|
102
|
+
|
103
|
+
# Note: the y2 properties are on the secondary chart.
|
104
|
+
line_chart2.set_y_axis(:name => 'Target length (mm)')
|
103
105
|
|
104
106
|
# Insert the chart into the worksheet
|
105
107
|
worksheet.insert_chart('E18', column_chart2)
|
@@ -26,12 +26,6 @@
|
|
26
26
|
:color => '#006100'
|
27
27
|
)
|
28
28
|
|
29
|
-
# Blue fill with dark blue text.
|
30
|
-
format3 = workbook.add_format(
|
31
|
-
:bg_color => '#C6CEFF',
|
32
|
-
:color => '#0000FF'
|
33
|
-
)
|
34
|
-
|
35
29
|
# Some sample data to run the conditional formatting against.
|
36
30
|
data = [
|
37
31
|
[ 34, 72, 38, 30, 75, 48, 75, 66, 84, 86 ],
|
@@ -226,19 +220,18 @@
|
|
226
220
|
#
|
227
221
|
caption = 'Examples of color scales and data bars. Default colors.'
|
228
222
|
|
229
|
-
|
230
|
-
data7 = 1 .. 12
|
223
|
+
data = 1 .. 12
|
231
224
|
|
232
225
|
worksheet7.write('A1', caption)
|
233
226
|
|
234
227
|
worksheet7.write('B2', "2 Color Scale")
|
235
|
-
worksheet7.write_col('B3',
|
228
|
+
worksheet7.write_col('B3', data)
|
236
229
|
|
237
230
|
worksheet7.write('D2', "3 Color Scale")
|
238
|
-
worksheet7.write_col('D3',
|
231
|
+
worksheet7.write_col('D3', data)
|
239
232
|
|
240
233
|
worksheet7.write('F2', "Data Bars")
|
241
|
-
worksheet7.write_col('F3',
|
234
|
+
worksheet7.write_col('F3', data)
|
242
235
|
|
243
236
|
|
244
237
|
worksheet7.conditional_formatting('B3:B14',
|
@@ -266,16 +259,18 @@
|
|
266
259
|
#
|
267
260
|
caption = 'Examples of color scales and data bars. Modified colors.'
|
268
261
|
|
262
|
+
data = 1..12
|
263
|
+
|
269
264
|
worksheet8.write('A1', caption)
|
270
265
|
|
271
266
|
worksheet8.write('B2', "2 Color Scale")
|
272
|
-
worksheet8.write_col('B3',
|
267
|
+
worksheet8.write_col('B3', data)
|
273
268
|
|
274
269
|
worksheet8.write('D2', "3 Color Scale")
|
275
|
-
worksheet8.write_col('D3',
|
270
|
+
worksheet8.write_col('D3', data)
|
276
271
|
|
277
272
|
worksheet8.write('F2', "Data Bars")
|
278
|
-
worksheet8.write_col('F3',
|
273
|
+
worksheet8.write_col('F3', data)
|
279
274
|
|
280
275
|
|
281
276
|
worksheet8.conditional_formatting('B3:B14',
|
@@ -304,47 +299,79 @@
|
|
304
299
|
|
305
300
|
###############################################################################
|
306
301
|
#
|
307
|
-
# Example 9
|
302
|
+
# Example 9.
|
308
303
|
#
|
309
|
-
caption = '
|
310
|
-
|
311
|
-
|
304
|
+
caption = 'Examples of conditional formats with icon sets.'
|
305
|
+
|
306
|
+
data = [
|
307
|
+
[1, 2, 3],
|
308
|
+
[1, 2, 3],
|
309
|
+
[1, 2, 3],
|
310
|
+
[1, 2, 3],
|
311
|
+
[1, 2, 3, 4],
|
312
|
+
[1, 2, 3, 4, 5],
|
313
|
+
[1, 2, 3, 4, 5]
|
314
|
+
]
|
312
315
|
|
313
|
-
# Write the data.
|
314
316
|
worksheet9.write('A1', caption)
|
315
317
|
worksheet9.write_col('B3', data)
|
316
318
|
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
:criteria => '>=',
|
324
|
-
:value => 100,
|
325
|
-
:format => format3,
|
326
|
-
:stop_if_true => 1
|
327
|
-
}
|
319
|
+
worksheet9.conditional_formatting(
|
320
|
+
'B3:D3',
|
321
|
+
{
|
322
|
+
:type => 'icon_set',
|
323
|
+
:icon_style => '3_traffic_lights'
|
324
|
+
}
|
328
325
|
)
|
329
326
|
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
}
|
327
|
+
worksheet9.conditional_formatting(
|
328
|
+
'B4:D4',
|
329
|
+
{
|
330
|
+
:type => 'icon_set',
|
331
|
+
:icon_style => '3_traffic_lights',
|
332
|
+
:reverse_icons => 1
|
333
|
+
}
|
338
334
|
)
|
339
335
|
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
336
|
+
worksheet9.conditional_formatting(
|
337
|
+
'B5:D5',
|
338
|
+
{
|
339
|
+
:type => 'icon_set',
|
340
|
+
:icon_style => '3_traffic_lights',
|
341
|
+
:icons_only => 1
|
342
|
+
}
|
343
|
+
)
|
344
|
+
|
345
|
+
worksheet9.conditional_formatting(
|
346
|
+
'B6:D6',
|
347
|
+
{
|
348
|
+
:type => 'icon_set',
|
349
|
+
:icon_style => '3_arrows'
|
350
|
+
}
|
351
|
+
)
|
352
|
+
|
353
|
+
worksheet9.conditional_formatting(
|
354
|
+
'B7:E8',
|
355
|
+
{
|
356
|
+
:type => 'icon_set',
|
357
|
+
:icon_style => '4_arrows'
|
358
|
+
}
|
359
|
+
)
|
360
|
+
|
361
|
+
worksheet9.conditional_formatting(
|
362
|
+
'B8:F8',
|
363
|
+
{
|
364
|
+
:type => 'icon_set',
|
365
|
+
:icon_style => '5_arrows'
|
366
|
+
}
|
367
|
+
)
|
368
|
+
|
369
|
+
worksheet9.conditional_formatting(
|
370
|
+
'B9:F9',
|
371
|
+
{
|
372
|
+
:type => 'icon_set',
|
373
|
+
:icon_style => '5_ratings'
|
374
|
+
}
|
348
375
|
)
|
349
376
|
|
350
377
|
workbook.close
|
data/examples/demo.rb
CHANGED
@@ -27,11 +27,6 @@
|
|
27
27
|
:align => 'vcenter'
|
28
28
|
)
|
29
29
|
|
30
|
-
hyperlink_format = workbook.add_format(
|
31
|
-
:color => 'blue',
|
32
|
-
:underline => 1
|
33
|
-
)
|
34
|
-
|
35
30
|
headings = ['Features of WriteXLSX', '']
|
36
31
|
worksheet.write_row('A1', headings, heading)
|
37
32
|
|
@@ -81,7 +76,7 @@
|
|
81
76
|
# Hyperlinks
|
82
77
|
#
|
83
78
|
worksheet.write('A9', "Hyperlinks")
|
84
|
-
worksheet.write('B9', 'http://www.ruby-lang.org/'
|
79
|
+
worksheet.write('B9', 'http://www.ruby-lang.org/')
|
85
80
|
|
86
81
|
#######################################################################
|
87
82
|
#
|
@@ -99,4 +94,3 @@
|
|
99
94
|
worksheet.write('A19', "Multiple worksheets")
|
100
95
|
|
101
96
|
workbook.close
|
102
|
-
|
data/examples/hyperlink1.rb
CHANGED
@@ -22,13 +22,6 @@
|
|
22
22
|
worksheet.set_column('A:A', 30)
|
23
23
|
worksheet.set_selection('B1')
|
24
24
|
|
25
|
-
|
26
|
-
# Add the standard url link format.
|
27
|
-
url_format = workbook.add_format(
|
28
|
-
:color => 'blue',
|
29
|
-
:underline => 1
|
30
|
-
)
|
31
|
-
|
32
25
|
# Add a sample format.
|
33
26
|
red_format = workbook.add_format(
|
34
27
|
:color => 'red',
|
@@ -45,11 +38,11 @@
|
|
45
38
|
|
46
39
|
|
47
40
|
# Write some hyperlinks
|
48
|
-
worksheet.write('A1', 'http://www.perl.com/'
|
49
|
-
worksheet.write('A3', 'http://www.perl.com/',
|
50
|
-
worksheet.write('A5', 'http://www.perl.com/',
|
41
|
+
worksheet.write('A1', 'http://www.perl.com/')
|
42
|
+
worksheet.write('A3', 'http://www.perl.com/', nil, str)
|
43
|
+
worksheet.write('A5', 'http://www.perl.com/', nil, str, tip)
|
51
44
|
worksheet.write('A7', 'http://www.perl.com/', red_format)
|
52
|
-
worksheet.write('A9', 'mailto:jmcnamara@cpan.org',
|
45
|
+
worksheet.write('A9', 'mailto:jmcnamara@cpan.org', nil, 'Mail me')
|
53
46
|
|
54
47
|
# Write a URL that isn't a hyperlink
|
55
48
|
worksheet.write_string('A11', 'http://www.perl.com/')
|
data/lib/write_xlsx/chart.rb
CHANGED
@@ -10,7 +10,7 @@ module Writexlsx
|
|
10
10
|
class Table
|
11
11
|
include Writexlsx::Utility
|
12
12
|
|
13
|
-
attr_reader :horizontal, :vertical, :outline, :show_keys
|
13
|
+
attr_reader :horizontal, :vertical, :outline, :show_keys, :font
|
14
14
|
|
15
15
|
def initialize(params = {})
|
16
16
|
@horizontal, @vertical, @outline, @show_keys = true, true, true, false
|
@@ -18,14 +18,22 @@ def initialize(params = {})
|
|
18
18
|
@vertical = params[:vertical] if params.has_key?(:vertical)
|
19
19
|
@outline = params[:outline] if params.has_key?(:outline)
|
20
20
|
@show_keys = params[:show_keys] if params.has_key?(:show_keys)
|
21
|
+
@font = convert_font_args(params[:font])
|
22
|
+
end
|
23
|
+
|
24
|
+
def palette=(palette)
|
25
|
+
@palette = palette
|
21
26
|
end
|
22
27
|
|
23
28
|
def write_d_table(writer)
|
24
|
-
writer
|
25
|
-
|
26
|
-
writer.empty_tag('c:
|
27
|
-
writer.empty_tag('c:
|
28
|
-
writer.empty_tag('c:
|
29
|
+
@writer = writer
|
30
|
+
@writer.tag_elements('c:dTable') do
|
31
|
+
@writer.empty_tag('c:showHorzBorder', attributes) if ptrue?(horizontal)
|
32
|
+
@writer.empty_tag('c:showVertBorder', attributes) if ptrue?(vertical)
|
33
|
+
@writer.empty_tag('c:showOutline', attributes) if ptrue?(outline)
|
34
|
+
@writer.empty_tag('c:showKeys', attributes) if ptrue?(show_keys)
|
35
|
+
# Write the table font.
|
36
|
+
write_tx_pr(nil, font) if ptrue?(font)
|
29
37
|
end
|
30
38
|
end
|
31
39
|
|
@@ -40,7 +48,7 @@ class ChartArea
|
|
40
48
|
include Writexlsx::Utility
|
41
49
|
include Writexlsx::Gradient
|
42
50
|
|
43
|
-
attr_reader :line, :fill, :gradient, :layout
|
51
|
+
attr_reader :line, :fill, :pattern, :gradient, :layout
|
44
52
|
|
45
53
|
def initialize(params = {})
|
46
54
|
@layout = layout_properties(params[:layout])
|
@@ -51,6 +59,9 @@ def initialize(params = {})
|
|
51
59
|
# Set the line properties for the chartarea.
|
52
60
|
@line = border ? line_properties(border) : line_properties(params[:line])
|
53
61
|
|
62
|
+
# Set the pattern properties for the series.
|
63
|
+
@pattern = pattern_properties(params[:pattern])
|
64
|
+
|
54
65
|
# Set the gradient fill properties for the series.
|
55
66
|
@gradient = gradient_properties(params[:gradient])
|
56
67
|
|
@@ -58,9 +69,16 @@ def initialize(params = {})
|
|
58
69
|
fill = params[:color] ? { :color => params[:color] } : params[:fill]
|
59
70
|
@fill = fill_properties(fill)
|
60
71
|
|
61
|
-
|
72
|
+
# Pattern fill overrides solid fill.
|
73
|
+
if ptrue?(@pattern)
|
62
74
|
@fill = nil
|
63
75
|
end
|
76
|
+
|
77
|
+
# Gradient fill overrides solid and pattern fills.
|
78
|
+
if ptrue?(@gradient)
|
79
|
+
@pattern = nil
|
80
|
+
@fill = nil
|
81
|
+
end
|
64
82
|
end
|
65
83
|
|
66
84
|
private
|
@@ -254,6 +272,10 @@ def add_series(params)
|
|
254
272
|
raise "Must specify ':categories' in add_series for this chart type"
|
255
273
|
end
|
256
274
|
|
275
|
+
if @series.size == 255
|
276
|
+
raise "The maximum number of series that can be added to an Excel Chart is 255."
|
277
|
+
end
|
278
|
+
|
257
279
|
@series << Series.new(self, params)
|
258
280
|
|
259
281
|
# Set the secondary axis properties.
|
@@ -407,6 +429,7 @@ def set_size(params = {})
|
|
407
429
|
#
|
408
430
|
def set_table(params = {})
|
409
431
|
@table = Table.new(params)
|
432
|
+
@table.palette = @palette
|
410
433
|
end
|
411
434
|
|
412
435
|
#
|
@@ -507,39 +530,6 @@ def write_bar_chart(params) # :nodoc:
|
|
507
530
|
end
|
508
531
|
end
|
509
532
|
|
510
|
-
#
|
511
|
-
# Convert user defined font values into private hash values.
|
512
|
-
#
|
513
|
-
def convert_font_args(params)
|
514
|
-
return unless params
|
515
|
-
font = params_to_font(params)
|
516
|
-
|
517
|
-
# Convert font size units.
|
518
|
-
font[:_size] *= 100 if font[:_size] && font[:_size] != 0
|
519
|
-
|
520
|
-
# Convert rotation into 60,000ths of a degree.
|
521
|
-
if ptrue?(font[:_rotation])
|
522
|
-
font[:_rotation] = 60_000 * font[:_rotation].to_i
|
523
|
-
end
|
524
|
-
|
525
|
-
font
|
526
|
-
end
|
527
|
-
|
528
|
-
def params_to_font(params)
|
529
|
-
{
|
530
|
-
:_name => params[:name],
|
531
|
-
:_color => params[:color],
|
532
|
-
:_size => params[:size],
|
533
|
-
:_bold => params[:bold],
|
534
|
-
:_italic => params[:italic],
|
535
|
-
:_underline => params[:underline],
|
536
|
-
:_pitch_family => params[:pitch_family],
|
537
|
-
:_charset => params[:charset],
|
538
|
-
:_baseline => params[:baseline] || 0,
|
539
|
-
:_rotation => params[:rotation]
|
540
|
-
}
|
541
|
-
end
|
542
|
-
|
543
533
|
#
|
544
534
|
# Switch name and name_formula parameters if required.
|
545
535
|
#
|
@@ -662,20 +652,6 @@ def get_data_type(data) # :nodoc:
|
|
662
652
|
'num'
|
663
653
|
end
|
664
654
|
|
665
|
-
#
|
666
|
-
# Convert the user specified colour index or string to a rgb colour.
|
667
|
-
#
|
668
|
-
def color(color_code) # :nodoc:
|
669
|
-
if color_code and color_code =~ /^#[0-9a-fA-F]{6}$/
|
670
|
-
# Convert a HTML style #RRGGBB color.
|
671
|
-
color_code.sub(/^#/, '').upcase
|
672
|
-
else
|
673
|
-
index = Format.color(color_code)
|
674
|
-
raise "Unknown color '#{color_code}' used in chart formatting." unless index
|
675
|
-
palette_color(index)
|
676
|
-
end
|
677
|
-
end
|
678
|
-
|
679
655
|
#
|
680
656
|
# Returns series which use the primary axes.
|
681
657
|
#
|
@@ -713,38 +689,6 @@ def ids
|
|
713
689
|
[id1, id2]
|
714
690
|
end
|
715
691
|
|
716
|
-
#
|
717
|
-
# Get the font style attributes from a font hash.
|
718
|
-
#
|
719
|
-
def get_font_style_attributes(font)
|
720
|
-
return [] unless font
|
721
|
-
|
722
|
-
attributes = []
|
723
|
-
attributes << ['sz', font[:_size]] if ptrue?(font[:_size])
|
724
|
-
attributes << ['b', font[:_bold]] if font[:_bold]
|
725
|
-
attributes << ['i', font[:_italic]] if font[:_italic]
|
726
|
-
attributes << ['u', 'sng'] if font[:_underline]
|
727
|
-
|
728
|
-
# Turn off baseline when testing fonts that don't have it.
|
729
|
-
if font[:_baseline] != -1
|
730
|
-
attributes << ['baseline', font[:_baseline]]
|
731
|
-
end
|
732
|
-
attributes
|
733
|
-
end
|
734
|
-
|
735
|
-
#
|
736
|
-
# Get the font latin attributes from a font hash.
|
737
|
-
#
|
738
|
-
def get_font_latin_attributes(font)
|
739
|
-
return [] unless font
|
740
|
-
|
741
|
-
attributes = []
|
742
|
-
attributes << ['typeface', font[:_name]] if ptrue?(font[:_name])
|
743
|
-
attributes << ['pitchFamily', font[:_pitch_family]] if font[:_pitch_family]
|
744
|
-
attributes << ['charset', font[:_charset]] if font[:_charset]
|
745
|
-
|
746
|
-
attributes
|
747
|
-
end
|
748
692
|
#
|
749
693
|
# Setup the default properties for a chart.
|
750
694
|
#
|
@@ -1275,6 +1219,9 @@ def write_cat_axis(params) # :nodoc:
|
|
1275
1219
|
# Write the c:majorTickMark element.
|
1276
1220
|
write_major_tick_mark(x_axis.major_tick_mark)
|
1277
1221
|
|
1222
|
+
# Write the c:minorTickMark element.
|
1223
|
+
write_minor_tick_mark(x_axis.minor_tick_mark)
|
1224
|
+
|
1278
1225
|
# Write the c:tickLblPos element.
|
1279
1226
|
write_tick_label_pos(x_axis.label_position)
|
1280
1227
|
|
@@ -1298,6 +1245,8 @@ def write_cat_axis(params) # :nodoc:
|
|
1298
1245
|
write_label_offset(100)
|
1299
1246
|
# Write the c:tickLblSkip element.
|
1300
1247
|
write_tick_lbl_skip(x_axis.interval_unit)
|
1248
|
+
# Write the c:tickMarkSkip element.
|
1249
|
+
write_tick_mark_skip(x_axis.interval_tick)
|
1301
1250
|
end
|
1302
1251
|
end
|
1303
1252
|
|
@@ -1347,6 +1296,9 @@ def write_val_axis_base(x_axis, y_axis, axis_ids_0, axis_ids_1, position) # :no
|
|
1347
1296
|
# Write the c:majorTickMark element.
|
1348
1297
|
write_major_tick_mark(y_axis.major_tick_mark)
|
1349
1298
|
|
1299
|
+
# Write the c:minorTickMark element.
|
1300
|
+
write_minor_tick_mark(y_axis.minor_tick_mark)
|
1301
|
+
|
1350
1302
|
# Write the c:tickLblPos element.
|
1351
1303
|
write_tick_label_pos(y_axis.label_position)
|
1352
1304
|
|
@@ -1436,6 +1388,8 @@ def write_date_axis(params) # :nodoc:
|
|
1436
1388
|
write_label_offset(100)
|
1437
1389
|
# Write the c:tickLblSkip element.
|
1438
1390
|
write_tick_lbl_skip(x_axis.interval_unit)
|
1391
|
+
# Write the c:tickMarkSkip element.
|
1392
|
+
write_tick_mark_skip(x_axis.interval_tick)
|
1439
1393
|
# Write the c:majorUnit element.
|
1440
1394
|
write_c_major_unit(x_axis.major_unit)
|
1441
1395
|
# Write the c:majorTimeUnit element.
|
@@ -1567,6 +1521,15 @@ def write_major_tick_mark(val)
|
|
1567
1521
|
@writer.empty_tag('c:majorTickMark', [ ['val', val] ])
|
1568
1522
|
end
|
1569
1523
|
|
1524
|
+
#
|
1525
|
+
# Write the <c:minorTickMark> element.
|
1526
|
+
#
|
1527
|
+
def write_minor_tick_mark(val)
|
1528
|
+
return unless ptrue?(val)
|
1529
|
+
|
1530
|
+
@writer.empty_tag('c:minorTickMark', [ ['val', val] ])
|
1531
|
+
end
|
1532
|
+
|
1570
1533
|
#
|
1571
1534
|
# Write the <c:tickLblPos> element.
|
1572
1535
|
#
|
@@ -1630,6 +1593,15 @@ def write_tick_lbl_skip(val) # :nodoc:
|
|
1630
1593
|
@writer.empty_tag('c:tickLblSkip', [ ['val', val] ])
|
1631
1594
|
end
|
1632
1595
|
|
1596
|
+
#
|
1597
|
+
# Write the <c:tickMarkSkip> element.
|
1598
|
+
#
|
1599
|
+
def write_tick_mark_skip(val) # :nodoc:
|
1600
|
+
return unless val
|
1601
|
+
|
1602
|
+
@writer.empty_tag( 'c:tickMarkSkip', [ ['val', val] ])
|
1603
|
+
end
|
1604
|
+
|
1633
1605
|
#
|
1634
1606
|
# Write the <c:majorGridlines> element.
|
1635
1607
|
#
|
@@ -1900,26 +1872,6 @@ def write_rich(title, horiz) # :nodoc:
|
|
1900
1872
|
write_a_p_rich(title)
|
1901
1873
|
end
|
1902
1874
|
end
|
1903
|
-
|
1904
|
-
#
|
1905
|
-
# Write the <a:bodyPr> element.
|
1906
|
-
#
|
1907
|
-
def write_a_body_pr(rot, horiz = nil) # :nodoc:
|
1908
|
-
rot = -5400000 if !rot && ptrue?(horiz)
|
1909
|
-
attributes = []
|
1910
|
-
attributes << ['rot', rot] if rot
|
1911
|
-
attributes << ['vert', 'horz'] if ptrue?(horiz)
|
1912
|
-
|
1913
|
-
@writer.empty_tag('a:bodyPr', attributes)
|
1914
|
-
end
|
1915
|
-
|
1916
|
-
#
|
1917
|
-
# Write the <a:lstStyle> element.
|
1918
|
-
#
|
1919
|
-
def write_a_lst_style # :nodoc:
|
1920
|
-
@writer.empty_tag('a:lstStyle')
|
1921
|
-
end
|
1922
|
-
|
1923
1875
|
#
|
1924
1876
|
# Write the <a:p> element for rich string titles.
|
1925
1877
|
#
|
@@ -1932,18 +1884,6 @@ def write_a_p_rich(title) # :nodoc:
|
|
1932
1884
|
end
|
1933
1885
|
end
|
1934
1886
|
|
1935
|
-
#
|
1936
|
-
# Write the <a:p> element for formula titles.
|
1937
|
-
#
|
1938
|
-
def write_a_p_formula(font = nil) # :nodoc:
|
1939
|
-
@writer.tag_elements('a:p') do
|
1940
|
-
# Write the a:pPr element.
|
1941
|
-
write_a_p_pr_formula(font)
|
1942
|
-
# Write the a:endParaRPr element.
|
1943
|
-
write_a_end_para_rpr
|
1944
|
-
end
|
1945
|
-
end
|
1946
|
-
|
1947
1887
|
#
|
1948
1888
|
# Write the <a:pPr> element for rich string titles.
|
1949
1889
|
#
|
@@ -1951,30 +1891,6 @@ def write_a_p_pr_rich(font) # :nodoc:
|
|
1951
1891
|
@writer.tag_elements('a:pPr') { write_a_def_rpr(font) }
|
1952
1892
|
end
|
1953
1893
|
|
1954
|
-
#
|
1955
|
-
# Write the <a:pPr> element for formula titles.
|
1956
|
-
#
|
1957
|
-
def write_a_p_pr_formula(font) # :nodoc:
|
1958
|
-
@writer.tag_elements('a:pPr') { write_a_def_rpr(font) }
|
1959
|
-
end
|
1960
|
-
|
1961
|
-
#
|
1962
|
-
# Write the <a:defRPr> element.
|
1963
|
-
#
|
1964
|
-
def write_a_def_rpr(font = nil) # :nodoc:
|
1965
|
-
write_def_rpr_r_pr_common(
|
1966
|
-
font,
|
1967
|
-
get_font_style_attributes(font),
|
1968
|
-
'a:defRPr')
|
1969
|
-
end
|
1970
|
-
|
1971
|
-
#
|
1972
|
-
# Write the <a:endParaRPr> element.
|
1973
|
-
#
|
1974
|
-
def write_a_end_para_rpr # :nodoc:
|
1975
|
-
@writer.empty_tag('a:endParaRPr', [ ['lang', 'en-US'] ])
|
1976
|
-
end
|
1977
|
-
|
1978
1894
|
#
|
1979
1895
|
# Write the <a:r> element.
|
1980
1896
|
#
|
@@ -1998,24 +1914,6 @@ def write_a_r_pr(font) # :nodoc:
|
|
1998
1914
|
write_def_rpr_r_pr_common(font, attributes, 'a:rPr')
|
1999
1915
|
end
|
2000
1916
|
|
2001
|
-
def write_def_rpr_r_pr_common(font, style_attributes, tag) # :nodoc:
|
2002
|
-
latin_attributes = get_font_latin_attributes(font)
|
2003
|
-
has_color = ptrue?(font) && ptrue?(font[:_color])
|
2004
|
-
|
2005
|
-
if !latin_attributes.empty? || has_color
|
2006
|
-
@writer.tag_elements(tag, style_attributes) do
|
2007
|
-
if has_color
|
2008
|
-
write_a_solid_fill(:color => font[:_color])
|
2009
|
-
end
|
2010
|
-
if !latin_attributes.empty?
|
2011
|
-
write_a_latin(latin_attributes)
|
2012
|
-
end
|
2013
|
-
end
|
2014
|
-
else
|
2015
|
-
@writer.empty_tag(tag, style_attributes)
|
2016
|
-
end
|
2017
|
-
end
|
2018
|
-
|
2019
1917
|
#
|
2020
1918
|
# Write the <a:t> element.
|
2021
1919
|
#
|
@@ -2023,24 +1921,6 @@ def write_a_t(title) # :nodoc:
|
|
2023
1921
|
@writer.data_element('a:t', title)
|
2024
1922
|
end
|
2025
1923
|
|
2026
|
-
#
|
2027
|
-
# Write the <c:txPr> element.
|
2028
|
-
#
|
2029
|
-
def write_tx_pr(horiz, font) # :nodoc:
|
2030
|
-
rotation = nil
|
2031
|
-
if font && font[:_rotation]
|
2032
|
-
rotation = font[:_rotation]
|
2033
|
-
end
|
2034
|
-
@writer.tag_elements('c:txPr') do
|
2035
|
-
# Write the a:bodyPr element.
|
2036
|
-
write_a_body_pr(rotation, horiz)
|
2037
|
-
# Write the a:lstStyle element.
|
2038
|
-
write_a_lst_style
|
2039
|
-
# Write the a:p element.
|
2040
|
-
write_a_p_formula(font)
|
2041
|
-
end
|
2042
|
-
end
|
2043
|
-
|
2044
1924
|
#
|
2045
1925
|
# Write the <c:marker> element.
|
2046
1926
|
#
|
@@ -2090,10 +1970,11 @@ def write_symbol(val) # :nodoc:
|
|
2090
1970
|
def write_sp_pr(series) # :nodoc:
|
2091
1971
|
line = series.line
|
2092
1972
|
fill = series.fill
|
1973
|
+
pattern = series.pattern if series.respond_to?(:pattern)
|
2093
1974
|
gradient = series.gradient if series.respond_to?(:gradient)
|
2094
1975
|
|
2095
1976
|
return if (!line || !ptrue?(line[:_defined])) &&
|
2096
|
-
(!fill || !ptrue?(fill[:_defined])) && !gradient
|
1977
|
+
(!fill || !ptrue?(fill[:_defined])) && !pattern && !gradient
|
2097
1978
|
|
2098
1979
|
@writer.tag_elements('c:spPr') do
|
2099
1980
|
# Write the fill elements for solid charts such as pie/doughnut and bar.
|
@@ -2106,6 +1987,9 @@ def write_sp_pr(series) # :nodoc:
|
|
2106
1987
|
write_a_solid_fill(fill)
|
2107
1988
|
end
|
2108
1989
|
end
|
1990
|
+
if ptrue?(pattern)
|
1991
|
+
write_a_patt_fill(pattern)
|
1992
|
+
end
|
2109
1993
|
if ptrue?(gradient)
|
2110
1994
|
# Write the a:gradFill element.
|
2111
1995
|
write_a_grad_fill(gradient)
|
@@ -2158,20 +2042,12 @@ def write_a_no_fill # :nodoc:
|
|
2158
2042
|
end
|
2159
2043
|
|
2160
2044
|
#
|
2161
|
-
# Write the <a:
|
2045
|
+
# Write the <a:alpha> element.
|
2162
2046
|
#
|
2163
|
-
def
|
2164
|
-
|
2165
|
-
# Write the a:srgbClr element.
|
2166
|
-
write_a_srgb_clr(color(line[:color])) if line[:color]
|
2167
|
-
end
|
2168
|
-
end
|
2047
|
+
def write_a_alpha(val)
|
2048
|
+
val = (100 - val.to_i) * 1000
|
2169
2049
|
|
2170
|
-
|
2171
|
-
# Write the <a:srgbClr> element.
|
2172
|
-
#
|
2173
|
-
def write_a_srgb_clr(val) # :nodoc:
|
2174
|
-
@writer.empty_tag('a:srgbClr', [ ['val', val] ])
|
2050
|
+
@writer.empty_tag('a:alpha', [ ['val', val] ])
|
2175
2051
|
end
|
2176
2052
|
|
2177
2053
|
#
|
@@ -2202,6 +2078,20 @@ def write_trendline(trendline) # :nodoc:
|
|
2202
2078
|
write_forward(trendline.forward)
|
2203
2079
|
# Write the c:backward element.
|
2204
2080
|
write_backward(trendline.backward)
|
2081
|
+
if trendline.intercept
|
2082
|
+
# Write the c:intercept element.
|
2083
|
+
write_intercept(trendline.intercept)
|
2084
|
+
end
|
2085
|
+
if trendline.display_r_squared
|
2086
|
+
# Write the c:dispRSqr element.
|
2087
|
+
write_disp_rsqr
|
2088
|
+
end
|
2089
|
+
if trendline.display_equation
|
2090
|
+
# Write the c:dispEq element.
|
2091
|
+
write_disp_eq
|
2092
|
+
# Write the c:trendlineLbl element.
|
2093
|
+
write_trendline_lbl
|
2094
|
+
end
|
2205
2095
|
end
|
2206
2096
|
end
|
2207
2097
|
|
@@ -2253,6 +2143,54 @@ def write_backward(val) # :nodoc:
|
|
2253
2143
|
@writer.empty_tag('c:backward', [ ['val', val] ])
|
2254
2144
|
end
|
2255
2145
|
|
2146
|
+
#
|
2147
|
+
# Write the <c:intercept> element.
|
2148
|
+
#
|
2149
|
+
def write_intercept(val)
|
2150
|
+
@writer.empty_tag('c:intercept', [ ['val', val] ])
|
2151
|
+
end
|
2152
|
+
|
2153
|
+
#
|
2154
|
+
# Write the <c:dispEq> element.
|
2155
|
+
#
|
2156
|
+
def write_disp_eq
|
2157
|
+
@writer.empty_tag('c:dispEq', [ ['val', 1] ])
|
2158
|
+
end
|
2159
|
+
|
2160
|
+
#
|
2161
|
+
# Write the <c:dispRSqr> element.
|
2162
|
+
#
|
2163
|
+
def write_disp_rsqr
|
2164
|
+
@writer.empty_tag('c:dispRSqr', [ ['val', 1] ])
|
2165
|
+
end
|
2166
|
+
|
2167
|
+
#
|
2168
|
+
# Write the <c:trendlineLbl> element.
|
2169
|
+
#
|
2170
|
+
def write_trendline_lbl
|
2171
|
+
@writer.tag_elements('c:trendlineLbl') do
|
2172
|
+
# Write the c:layout element.
|
2173
|
+
write_layout
|
2174
|
+
# Write the c:numFmt element.
|
2175
|
+
write_trendline_num_fmt
|
2176
|
+
end
|
2177
|
+
end
|
2178
|
+
|
2179
|
+
#
|
2180
|
+
# Write the <c:numFmt> element.
|
2181
|
+
#
|
2182
|
+
def write_trendline_num_fmt
|
2183
|
+
format_code = 'General'
|
2184
|
+
source_linked = 0
|
2185
|
+
|
2186
|
+
attributes = [
|
2187
|
+
['formatCode', format_code],
|
2188
|
+
['sourceLinked', source_linked]
|
2189
|
+
]
|
2190
|
+
|
2191
|
+
@writer.empty_tag('c:numFmt', attributes)
|
2192
|
+
end
|
2193
|
+
|
2256
2194
|
#
|
2257
2195
|
# Write the <c:hiLowLines> element.
|
2258
2196
|
#
|
@@ -2829,6 +2767,26 @@ def write_a_tile_rect(type)
|
|
2829
2767
|
@writer.empty_tag('a:tileRect', attributes)
|
2830
2768
|
end
|
2831
2769
|
|
2770
|
+
#
|
2771
|
+
# Write the <a:pattFill> element.
|
2772
|
+
#
|
2773
|
+
def write_a_patt_fill(pattern)
|
2774
|
+
attributes = [ ['prst', pattern[:pattern]] ]
|
2775
|
+
|
2776
|
+
@writer.tag_elements('a:pattFill', attributes) do
|
2777
|
+
write_a_fg_clr(pattern[:fg_color])
|
2778
|
+
write_a_bg_clr(pattern[:bg_color])
|
2779
|
+
end
|
2780
|
+
end
|
2781
|
+
|
2782
|
+
def write_a_fg_clr(color)
|
2783
|
+
@writer.tag_elements('a:fgClr') { write_a_srgb_clr(color(color)) }
|
2784
|
+
end
|
2785
|
+
|
2786
|
+
def write_a_bg_clr(color)
|
2787
|
+
@writer.tag_elements('a:bgClr') { write_a_srgb_clr(color(color)) }
|
2788
|
+
end
|
2789
|
+
|
2832
2790
|
def write_bars_base(tag, format)
|
2833
2791
|
if format.line_defined? || format.fill_defined?
|
2834
2792
|
@writer.tag_elements(tag) { write_sp_pr(format) }
|