write_xlsx 0.85.5 → 0.85.10
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 +3 -0
- data/Changes +15 -0
- data/lib/write_xlsx/chart.rb +1 -1
- data/lib/write_xlsx/compatibility.rb +1 -1
- data/lib/write_xlsx/format.rb +3 -4
- data/lib/write_xlsx/package/conditional_format.rb +2 -2
- data/lib/write_xlsx/package/shared_strings.rb +17 -13
- data/lib/write_xlsx/package/styles.rb +1 -1
- data/lib/write_xlsx/package/xml_writer_simple.rb +8 -8
- data/lib/write_xlsx/utility.rb +4 -2
- data/lib/write_xlsx/version.rb +1 -1
- data/lib/write_xlsx/workbook.rb +5 -3
- data/lib/write_xlsx/worksheet.rb +15 -13
- data/lib/write_xlsx/worksheet/cell_data.rb +3 -1
- data/lib/write_xlsx/worksheet/data_validation.rb +1 -1
- data/lib/write_xlsx/worksheet/hyperlink.rb +2 -2
- data/test/helper.rb +20 -0
- data/test/regression/disabled_test_vml04.rb +2 -2
- data/test/regression/test_array_formula01.rb +6 -6
- data/test/regression/test_array_formula02.rb +6 -6
- data/test/regression/test_autofilter00.rb +3 -3
- data/test/regression/test_autofilter01.rb +3 -3
- data/test/regression/test_autofilter02.rb +3 -3
- data/test/regression/test_autofilter03.rb +3 -3
- data/test/regression/test_autofilter04.rb +3 -3
- data/test/regression/test_autofilter05.rb +3 -3
- data/test/regression/test_autofilter06.rb +3 -3
- data/test/regression/test_autofilter07.rb +3 -3
- data/test/regression/test_button01.rb +3 -3
- data/test/regression/test_button02.rb +3 -3
- data/test/regression/test_button03.rb +3 -3
- data/test/regression/test_button04.rb +3 -3
- data/test/regression/test_button05.rb +3 -3
- data/test/regression/test_button06.rb +3 -3
- data/test/regression/test_button07.rb +3 -3
- data/test/regression/test_button08.rb +3 -3
- data/test/regression/test_button13.rb +2 -6
- data/test/regression/test_button14.rb +3 -3
- data/test/regression/test_chart_area01.rb +3 -3
- data/test/regression/test_chart_area02.rb +3 -3
- data/test/regression/test_chart_area03.rb +3 -3
- data/test/regression/test_chart_area04.rb +3 -3
- data/test/regression/test_chart_axis01.rb +6 -7
- data/test/regression/test_chart_axis02.rb +6 -7
- data/test/regression/test_chart_axis03.rb +9 -10
- data/test/regression/test_chart_axis04.rb +8 -9
- data/test/regression/test_chart_axis05.rb +8 -9
- data/test/regression/test_chart_axis06.rb +8 -9
- data/test/regression/test_chart_axis07.rb +8 -9
- data/test/regression/test_chart_axis08.rb +8 -9
- data/test/regression/test_chart_axis09.rb +8 -9
- data/test/regression/test_chart_axis10.rb +8 -9
- data/test/regression/test_chart_axis11.rb +8 -9
- data/test/regression/test_chart_axis12.rb +8 -9
- data/test/regression/test_chart_axis13.rb +8 -9
- data/test/regression/test_chart_axis14.rb +9 -10
- data/test/regression/test_chart_axis15.rb +9 -10
- data/test/regression/test_chart_axis16.rb +9 -10
- data/test/regression/test_chart_axis17.rb +6 -7
- data/test/regression/test_chart_axis18.rb +6 -7
- data/test/regression/test_chart_axis19.rb +6 -7
- data/test/regression/test_chart_axis20.rb +6 -7
- data/test/regression/test_chart_axis21.rb +6 -7
- data/test/regression/test_chart_axis22.rb +6 -7
- data/test/regression/test_chart_axis23.rb +6 -7
- data/test/regression/test_chart_axis24.rb +6 -7
- data/test/regression/test_chart_axis25.rb +6 -7
- data/test/regression/test_chart_axis26.rb +6 -7
- data/test/regression/test_chart_axis27.rb +6 -7
- data/test/regression/test_chart_axis28.rb +6 -7
- data/test/regression/test_chart_axis29.rb +6 -7
- data/test/regression/test_chart_axis30.rb +3 -7
- data/test/regression/test_chart_axis31.rb +3 -7
- data/test/regression/test_chart_axis32.rb +3 -7
- data/test/regression/test_chart_axis33.rb +6 -7
- data/test/regression/test_chart_axis34.rb +6 -7
- data/test/regression/test_chart_axis35.rb +6 -7
- data/test/regression/test_chart_axis36.rb +6 -7
- data/test/regression/test_chart_axis37.rb +6 -7
- data/test/regression/test_chart_axis38.rb +5 -10
- data/test/regression/test_chart_axis39.rb +6 -7
- data/test/regression/test_chart_bar01.rb +3 -3
- data/test/regression/test_chart_bar02.rb +11 -12
- data/test/regression/test_chart_bar03.rb +12 -13
- data/test/regression/test_chart_bar04.rb +12 -13
- data/test/regression/test_chart_bar05.rb +3 -7
- data/test/regression/test_chart_bar06.rb +9 -10
- data/test/regression/test_chart_bar07.rb +13 -14
- data/test/regression/test_chart_bar08.rb +3 -7
- data/test/regression/test_chart_bar09.rb +6 -7
- data/test/regression/test_chart_bar10.rb +6 -7
- data/test/regression/test_chart_bar11.rb +23 -25
- data/test/regression/test_chart_bar12.rb +3 -8
- data/test/regression/test_chart_bar13.rb +3 -8
- data/test/regression/test_chart_bar14.rb +10 -12
- data/test/regression/test_chart_bar15.rb +9 -11
- data/test/regression/test_chart_bar16.rb +8 -10
- data/test/regression/test_chart_bar17.rb +8 -10
- data/test/regression/test_chart_bar18.rb +17 -19
- data/test/regression/test_chart_bar19.rb +8 -10
- data/test/regression/test_chart_bar20.rb +8 -10
- data/test/regression/test_chart_bar21.rb +3 -7
- data/test/regression/test_chart_bar22.rb +8 -10
- data/test/regression/test_chart_bar23.rb +8 -10
- data/test/regression/test_chart_bar24.rb +9 -10
- data/test/regression/test_chart_blank01.rb +3 -3
- data/test/regression/test_chart_blank02.rb +3 -3
- data/test/regression/test_chart_blank03.rb +3 -3
- data/test/regression/test_chart_blank04.rb +3 -3
- data/test/regression/test_chart_blank05.rb +6 -8
- data/test/regression/test_chart_blank06.rb +3 -3
- data/test/regression/test_chart_chartarea01.rb +3 -3
- data/test/regression/test_chart_chartarea02.rb +3 -3
- data/test/regression/test_chart_chartarea03.rb +3 -3
- data/test/regression/test_chart_chartarea04.rb +6 -8
- data/test/regression/test_chart_chartarea05.rb +3 -3
- data/test/regression/test_chart_clustered01.rb +3 -3
- data/test/regression/test_chart_column01.rb +3 -7
- data/test/regression/test_chart_column02.rb +8 -9
- data/test/regression/test_chart_column03.rb +8 -9
- data/test/regression/test_chart_column04.rb +9 -10
- data/test/regression/test_chart_column05.rb +3 -3
- data/test/regression/test_chart_column06.rb +8 -9
- data/test/regression/test_chart_column07.rb +3 -7
- data/test/regression/test_chart_column08.rb +3 -7
- data/test/regression/test_chart_column09.rb +3 -7
- data/test/regression/test_chart_column10.rb +3 -7
- data/test/regression/test_chart_column11.rb +3 -7
- data/test/regression/test_chart_column12.rb +2 -10
- data/test/regression/test_chart_combined01.rb +3 -3
- data/test/regression/test_chart_combined02.rb +3 -3
- data/test/regression/test_chart_combined03.rb +3 -3
- data/test/regression/test_chart_combined04.rb +3 -3
- data/test/regression/test_chart_combined05.rb +3 -3
- data/test/regression/test_chart_combined06.rb +3 -3
- data/test/regression/test_chart_combined07.rb +3 -3
- data/test/regression/test_chart_combined08.rb +3 -3
- data/test/regression/test_chart_crossing01.rb +8 -9
- data/test/regression/test_chart_crossing02.rb +8 -9
- data/test/regression/test_chart_crossing03.rb +8 -9
- data/test/regression/test_chart_crossing04.rb +8 -9
- data/test/regression/test_chart_data_labels01.rb +3 -3
- data/test/regression/test_chart_data_labels02.rb +3 -3
- data/test/regression/test_chart_data_labels03.rb +3 -3
- data/test/regression/test_chart_data_labels04.rb +3 -3
- data/test/regression/test_chart_data_labels05.rb +3 -3
- data/test/regression/test_chart_data_labels06.rb +3 -3
- data/test/regression/test_chart_data_labels07.rb +3 -3
- data/test/regression/test_chart_data_labels08.rb +3 -3
- data/test/regression/test_chart_data_labels09.rb +3 -3
- data/test/regression/test_chart_data_labels10.rb +3 -3
- data/test/regression/test_chart_data_labels11.rb +3 -3
- data/test/regression/test_chart_data_labels12.rb +3 -3
- data/test/regression/test_chart_data_labels13.rb +3 -3
- data/test/regression/test_chart_data_labels14.rb +3 -3
- data/test/regression/test_chart_data_labels15.rb +3 -3
- data/test/regression/test_chart_data_labels16.rb +3 -3
- data/test/regression/test_chart_data_labels17.rb +3 -3
- data/test/regression/test_chart_data_labels18.rb +3 -3
- data/test/regression/test_chart_data_labels19.rb +3 -3
- data/test/regression/test_chart_data_labels20.rb +3 -3
- data/test/regression/test_chart_data_labels21.rb +3 -3
- data/test/regression/test_chart_data_labels22.rb +3 -3
- data/test/regression/test_chart_data_labels23.rb +3 -3
- data/test/regression/test_chart_data_labels24.rb +3 -3
- data/test/regression/test_chart_date01.rb +2 -6
- data/test/regression/test_chart_date02.rb +3 -3
- data/test/regression/test_chart_date03.rb +3 -3
- data/test/regression/test_chart_date04.rb +3 -3
- data/test/regression/test_chart_date05.rb +3 -3
- data/test/regression/test_chart_display_units01.rb +3 -3
- data/test/regression/test_chart_display_units02.rb +3 -3
- data/test/regression/test_chart_display_units03.rb +3 -3
- data/test/regression/test_chart_display_units04.rb +3 -3
- data/test/regression/test_chart_display_units05.rb +3 -3
- data/test/regression/test_chart_display_units06.rb +3 -3
- data/test/regression/test_chart_display_units07.rb +3 -3
- data/test/regression/test_chart_display_units08.rb +3 -3
- data/test/regression/test_chart_display_units09.rb +3 -3
- data/test/regression/test_chart_display_units10.rb +3 -3
- data/test/regression/test_chart_display_units11.rb +3 -3
- data/test/regression/test_chart_display_units12.rb +3 -3
- data/test/regression/test_chart_doughnut01.rb +3 -7
- data/test/regression/test_chart_doughnut02.rb +3 -7
- data/test/regression/test_chart_doughnut03.rb +3 -7
- data/test/regression/test_chart_doughnut04.rb +3 -7
- data/test/regression/test_chart_doughnut05.rb +3 -7
- data/test/regression/test_chart_doughnut06.rb +3 -7
- data/test/regression/test_chart_drop_lines01.rb +3 -3
- data/test/regression/test_chart_drop_lines02.rb +3 -3
- data/test/regression/test_chart_drop_lines03.rb +3 -3
- data/test/regression/test_chart_drop_lines04.rb +3 -3
- data/test/regression/test_chart_errorbars01.rb +3 -4
- data/test/regression/test_chart_errorbars02.rb +3 -4
- data/test/regression/test_chart_errorbars03.rb +3 -4
- data/test/regression/test_chart_errorbars04.rb +3 -4
- data/test/regression/test_chart_errorbars05.rb +3 -4
- data/test/regression/test_chart_errorbars06.rb +3 -4
- data/test/regression/test_chart_errorbars07.rb +6 -7
- data/test/regression/test_chart_errorbars08.rb +3 -7
- data/test/regression/test_chart_errorbars09.rb +3 -7
- data/test/regression/test_chart_errorbars10.rb +3 -7
- data/test/regression/test_chart_font01.rb +3 -3
- data/test/regression/test_chart_font02.rb +3 -3
- data/test/regression/test_chart_font03.rb +3 -3
- data/test/regression/test_chart_font04.rb +3 -3
- data/test/regression/test_chart_font05.rb +3 -3
- data/test/regression/test_chart_font06.rb +3 -3
- data/test/regression/test_chart_font07.rb +3 -3
- data/test/regression/test_chart_font08.rb +3 -3
- data/test/regression/test_chart_font09.rb +2 -6
- data/test/regression/test_chart_format01.rb +3 -3
- data/test/regression/test_chart_format02.rb +3 -3
- data/test/regression/test_chart_format03.rb +3 -3
- data/test/regression/test_chart_format04.rb +3 -3
- data/test/regression/test_chart_format05.rb +3 -3
- data/test/regression/test_chart_format06.rb +8 -10
- data/test/regression/test_chart_format07.rb +8 -10
- data/test/regression/test_chart_format08.rb +8 -10
- data/test/regression/test_chart_format09.rb +8 -10
- data/test/regression/test_chart_format10.rb +8 -10
- data/test/regression/test_chart_format11.rb +8 -10
- data/test/regression/test_chart_format12.rb +8 -10
- data/test/regression/test_chart_format13.rb +8 -10
- data/test/regression/test_chart_format14.rb +8 -10
- data/test/regression/test_chart_format15.rb +8 -10
- data/test/regression/test_chart_format16.rb +8 -10
- data/test/regression/test_chart_format17.rb +3 -4
- data/test/regression/test_chart_format18.rb +3 -4
- data/test/regression/test_chart_format19.rb +3 -4
- data/test/regression/test_chart_format20.rb +3 -4
- data/test/regression/test_chart_gap01.rb +3 -3
- data/test/regression/test_chart_gap02.rb +3 -3
- data/test/regression/test_chart_gap03.rb +3 -3
- data/test/regression/test_chart_gap04.rb +3 -3
- data/test/regression/test_chart_gap05.rb +3 -3
- data/test/regression/test_chart_gradient01.rb +3 -6
- data/test/regression/test_chart_gradient02.rb +3 -6
- data/test/regression/test_chart_gradient03.rb +3 -6
- data/test/regression/test_chart_gradient04.rb +3 -6
- data/test/regression/test_chart_gradient05.rb +3 -6
- data/test/regression/test_chart_gradient06.rb +3 -6
- data/test/regression/test_chart_gradient07.rb +3 -6
- data/test/regression/test_chart_gradient08.rb +3 -6
- data/test/regression/test_chart_gradient09.rb +3 -6
- data/test/regression/test_chart_gradient10.rb +3 -6
- data/test/regression/test_chart_gradient11.rb +3 -6
- data/test/regression/test_chart_gradient12.rb +3 -6
- data/test/regression/test_chart_gradient13.rb +3 -6
- data/test/regression/test_chart_gridlines01.rb +3 -6
- data/test/regression/test_chart_gridlines02.rb +3 -6
- data/test/regression/test_chart_gridlines03.rb +6 -8
- data/test/regression/test_chart_gridlines04.rb +3 -6
- data/test/regression/test_chart_gridlines05.rb +3 -6
- data/test/regression/test_chart_gridlines06.rb +3 -6
- data/test/regression/test_chart_gridlines07.rb +6 -8
- data/test/regression/test_chart_gridlines08.rb +3 -6
- data/test/regression/test_chart_gridlines09.rb +3 -6
- data/test/regression/test_chart_layout01.rb +3 -3
- data/test/regression/test_chart_layout02.rb +3 -3
- data/test/regression/test_chart_layout03.rb +3 -3
- data/test/regression/test_chart_layout04.rb +3 -3
- data/test/regression/test_chart_layout05.rb +3 -3
- data/test/regression/test_chart_layout06.rb +3 -3
- data/test/regression/test_chart_layout07.rb +3 -3
- data/test/regression/test_chart_layout08.rb +3 -3
- data/test/regression/test_chart_legend01.rb +3 -8
- data/test/regression/test_chart_legend02.rb +3 -8
- data/test/regression/test_chart_line01.rb +3 -3
- data/test/regression/test_chart_line02.rb +9 -10
- data/test/regression/test_chart_line03.rb +3 -3
- data/test/regression/test_chart_line04.rb +3 -3
- data/test/regression/test_chart_name01.rb +3 -6
- data/test/regression/test_chart_name02.rb +3 -6
- data/test/regression/test_chart_name03.rb +3 -6
- data/test/regression/test_chart_order01.rb +3 -6
- data/test/regression/test_chart_order02.rb +3 -6
- data/test/regression/test_chart_order03.rb +10 -12
- data/test/regression/test_chart_pie01.rb +3 -3
- data/test/regression/test_chart_pie02.rb +3 -3
- data/test/regression/test_chart_pie03.rb +3 -3
- data/test/regression/test_chart_pie04.rb +3 -3
- data/test/regression/test_chart_pie05.rb +3 -3
- data/test/regression/test_chart_points01.rb +3 -3
- data/test/regression/test_chart_points02.rb +3 -3
- data/test/regression/test_chart_points03.rb +3 -3
- data/test/regression/test_chart_points04.rb +3 -3
- data/test/regression/test_chart_points05.rb +3 -3
- data/test/regression/test_chart_points06.rb +3 -3
- data/test/regression/test_chart_radar01.rb +3 -3
- data/test/regression/test_chart_radar02.rb +3 -3
- data/test/regression/test_chart_radar03.rb +3 -3
- data/test/regression/test_chart_scatter01.rb +3 -3
- data/test/regression/test_chart_scatter02.rb +3 -3
- data/test/regression/test_chart_scatter03.rb +3 -3
- data/test/regression/test_chart_scatter04.rb +3 -3
- data/test/regression/test_chart_scatter05.rb +3 -3
- data/test/regression/test_chart_scatter06.rb +3 -3
- data/test/regression/test_chart_scatter07.rb +9 -10
- data/test/regression/test_chart_scatter08.rb +3 -3
- data/test/regression/test_chart_scatter09.rb +3 -3
- data/test/regression/test_chart_scatter10.rb +3 -3
- data/test/regression/test_chart_scatter11.rb +3 -3
- data/test/regression/test_chart_scatter12.rb +3 -3
- data/test/regression/test_chart_scatter13.rb +3 -3
- data/test/regression/test_chart_scatter14.rb +3 -3
- data/test/regression/test_chart_scatter15.rb +3 -3
- data/test/regression/test_chart_size01.rb +3 -3
- data/test/regression/test_chart_size02.rb +3 -3
- data/test/regression/test_chart_size03.rb +3 -3
- data/test/regression/test_chart_size04.rb +3 -3
- data/test/regression/test_chart_size05.rb +3 -3
- data/test/regression/test_chart_sparse01.rb +6 -9
- data/test/regression/test_chart_stock01.rb +6 -8
- data/test/regression/test_chart_stock02.rb +10 -12
- data/test/regression/test_chart_str01.rb +3 -8
- data/test/regression/test_chart_str02.rb +3 -8
- data/test/regression/test_chart_table01.rb +3 -6
- data/test/regression/test_chart_table02.rb +3 -6
- data/test/regression/test_chart_title01.rb +3 -8
- data/test/regression/test_chart_title02.rb +3 -8
- data/test/regression/test_chartsheet01.rb +3 -8
- data/test/regression/test_chartsheet02.rb +8 -10
- data/test/regression/test_chartsheet03.rb +8 -10
- data/test/regression/test_chartsheet04.rb +8 -10
- data/test/regression/test_chartsheet05.rb +8 -10
- data/test/regression/test_chartsheet06.rb +7 -13
- data/test/regression/test_chartsheet07.rb +16 -18
- data/test/regression/test_chartsheet08.rb +16 -18
- data/test/regression/test_chartsheet09.rb +8 -10
- data/test/regression/test_comment01.rb +3 -3
- data/test/regression/test_comment02.rb +3 -3
- data/test/regression/test_comment03.rb +6 -7
- data/test/regression/test_comment04.rb +6 -7
- data/test/regression/test_comment06.rb +6 -7
- data/test/regression/test_comment07.rb +6 -7
- data/test/regression/test_comment08.rb +6 -7
- data/test/regression/test_comment09.rb +6 -7
- data/test/regression/test_comment10.rb +6 -7
- data/test/regression/test_comment11.rb +6 -8
- data/test/regression/test_comment12.rb +3 -8
- data/test/regression/test_cond_format01.rb +6 -7
- data/test/regression/test_cond_format02.rb +6 -7
- data/test/regression/test_cond_format03.rb +6 -7
- data/test/regression/test_cond_format04.rb +6 -7
- data/test/regression/test_cond_format05.rb +6 -7
- data/test/regression/test_cond_format06.rb +6 -7
- data/test/regression/test_cond_format07.rb +6 -7
- data/test/regression/test_cond_format08.rb +6 -7
- data/test/regression/test_cond_format10.rb +6 -7
- data/test/regression/test_cond_format11.rb +6 -7
- data/test/regression/test_cond_format12.rb +6 -7
- data/test/regression/test_cond_format13.rb +6 -7
- data/test/regression/test_custom_colors01.rb +3 -3
- data/test/regression/test_data_validation01.rb +3 -3
- data/test/regression/test_data_validation02.rb +3 -3
- data/test/regression/test_data_validation03.rb +3 -3
- data/test/regression/test_data_validation04.rb +1 -5
- data/test/regression/test_data_validation05.rb +1 -5
- data/test/regression/test_date_1904_01.rb +3 -8
- data/test/regression/test_date_1904_02.rb +3 -8
- data/test/regression/test_date_examples01.rb +3 -3
- data/test/regression/test_default_format01.rb +2 -6
- data/test/regression/test_default_row01.rb +3 -3
- data/test/regression/test_default_row02.rb +3 -3
- data/test/regression/test_default_row03.rb +3 -3
- data/test/regression/test_default_row04.rb +3 -3
- data/test/regression/test_defined_name01.rb +10 -12
- data/test/regression/test_defined_name02.rb +10 -12
- data/test/regression/test_defined_name03.rb +10 -12
- data/test/regression/test_defined_name04.rb +2 -7
- data/test/regression/test_escapes01.rb +8 -10
- data/test/regression/test_escapes02.rb +8 -9
- data/test/regression/test_escapes03.rb +8 -9
- data/test/regression/test_escapes04.rb +8 -10
- data/test/regression/test_escapes05.rb +8 -10
- data/test/regression/test_escapes06.rb +3 -6
- data/test/regression/test_escapes07.rb +3 -6
- data/test/regression/test_escapes08.rb +3 -6
- data/test/regression/test_excel2003_style01.rb +3 -3
- data/test/regression/test_excel2003_style02.rb +3 -3
- data/test/regression/test_excel2003_style03.rb +3 -3
- data/test/regression/test_excel2003_style04.rb +3 -3
- data/test/regression/test_excel2003_style05.rb +3 -3
- data/test/regression/test_excel2003_style06.rb +3 -3
- data/test/regression/test_excel2003_style07.rb +3 -3
- data/test/regression/test_excel2003_style08.rb +3 -3
- data/test/regression/test_firstsheet01.rb +3 -8
- data/test/regression/test_fit_to_pages01.rb +12 -14
- data/test/regression/test_fit_to_pages02.rb +12 -14
- data/test/regression/test_fit_to_pages03.rb +12 -14
- data/test/regression/test_fit_to_pages04.rb +12 -14
- data/test/regression/test_fit_to_pages05.rb +12 -14
- data/test/regression/test_format01.rb +3 -3
- data/test/regression/test_format02.rb +3 -3
- data/test/regression/test_format03.rb +3 -3
- data/test/regression/test_format04.rb +3 -3
- data/test/regression/test_format05.rb +3 -3
- data/test/regression/test_format11.rb +3 -3
- data/test/regression/test_format12.rb +3 -3
- data/test/regression/test_formula_results01.rb +3 -3
- data/test/regression/test_gridlines01.rb +12 -14
- data/test/regression/test_header01.rb +3 -3
- data/test/regression/test_header02.rb +3 -3
- data/test/regression/test_header03.rb +3 -3
- data/test/regression/test_header_image01.rb +3 -3
- data/test/regression/test_header_image02.rb +3 -3
- data/test/regression/test_header_image03.rb +3 -3
- data/test/regression/test_header_image04.rb +3 -3
- data/test/regression/test_header_image05.rb +3 -3
- data/test/regression/test_header_image06.rb +3 -3
- data/test/regression/test_header_image07.rb +3 -3
- data/test/regression/test_header_image08.rb +3 -3
- data/test/regression/test_header_image09.rb +8 -12
- data/test/regression/test_header_image10.rb +3 -3
- data/test/regression/test_header_image11.rb +3 -3
- data/test/regression/test_header_image12.rb +3 -3
- data/test/regression/test_header_image13.rb +3 -3
- data/test/regression/test_header_image14.rb +3 -3
- data/test/regression/test_hide01.rb +3 -8
- data/test/regression/test_hyperlink01.rb +3 -3
- data/test/regression/test_hyperlink02.rb +3 -3
- data/test/regression/test_hyperlink03.rb +3 -3
- data/test/regression/test_hyperlink04.rb +3 -3
- data/test/regression/test_hyperlink05.rb +3 -3
- data/test/regression/test_hyperlink06.rb +3 -3
- data/test/regression/test_hyperlink07.rb +2 -6
- data/test/regression/test_hyperlink08.rb +3 -3
- data/test/regression/test_hyperlink09.rb +3 -3
- data/test/regression/test_hyperlink10.rb +3 -3
- data/test/regression/test_hyperlink11.rb +3 -3
- data/test/regression/test_hyperlink12.rb +3 -3
- data/test/regression/test_hyperlink13.rb +3 -3
- data/test/regression/test_hyperlink14.rb +3 -3
- data/test/regression/test_hyperlink15.rb +3 -3
- data/test/regression/test_hyperlink16.rb +3 -3
- data/test/regression/test_hyperlink17.rb +3 -3
- data/test/regression/test_hyperlink18.rb +3 -3
- data/test/regression/test_hyperlink20.rb +3 -3
- data/test/regression/test_hyperlink21.rb +3 -3
- data/test/regression/test_image01.rb +3 -3
- data/test/regression/test_image02.rb +3 -3
- data/test/regression/test_image03.rb +3 -3
- data/test/regression/test_image04.rb +3 -3
- data/test/regression/test_image05.rb +3 -3
- data/test/regression/test_image06.rb +3 -3
- data/test/regression/test_image07.rb +3 -3
- data/test/regression/test_image08.rb +3 -3
- data/test/regression/test_image09.rb +3 -3
- data/test/regression/test_image10.rb +3 -3
- data/test/regression/test_image11.rb +3 -3
- data/test/regression/test_image12.rb +3 -3
- data/test/regression/test_image13.rb +3 -3
- data/test/regression/test_image14.rb +3 -3
- data/test/regression/test_image15.rb +3 -3
- data/test/regression/test_image16.rb +3 -3
- data/test/regression/test_image17.rb +2 -6
- data/test/regression/test_image18.rb +3 -3
- data/test/regression/test_image19.rb +3 -3
- data/test/regression/test_image22.rb +3 -3
- data/test/regression/test_image23.rb +3 -3
- data/test/regression/test_image24.rb +3 -3
- data/test/regression/test_image25.rb +3 -3
- data/test/regression/test_image26.rb +3 -3
- data/test/regression/test_image27.rb +3 -3
- data/test/regression/test_landscape01.rb +3 -3
- data/test/regression/test_macro01.rb +3 -3
- data/test/regression/test_merge_cells01.rb +2 -6
- data/test/regression/test_merge_range01.rb +3 -6
- data/test/regression/test_merge_range02.rb +3 -6
- data/test/regression/test_merge_range03.rb +3 -6
- data/test/regression/test_merge_range04.rb +3 -6
- data/test/regression/test_merge_range05.rb +3 -6
- data/test/regression/test_outline01.rb +12 -14
- data/test/regression/test_outline02.rb +12 -14
- data/test/regression/test_outline03.rb +12 -14
- data/test/regression/test_outline04.rb +12 -14
- data/test/regression/test_outline05.rb +12 -14
- data/test/regression/test_outline06.rb +12 -14
- data/test/regression/test_page_breaks01.rb +12 -14
- data/test/regression/test_page_breaks02.rb +12 -14
- data/test/regression/test_page_breaks03.rb +12 -14
- data/test/regression/test_page_breaks04.rb +12 -14
- data/test/regression/test_page_breaks05.rb +12 -14
- data/test/regression/test_page_breaks06.rb +12 -14
- data/test/regression/test_page_view01.rb +12 -14
- data/test/regression/test_panes01.rb +3 -8
- data/test/regression/test_print_across01.rb +12 -14
- data/test/regression/test_print_area01.rb +12 -14
- data/test/regression/test_print_area02.rb +12 -14
- data/test/regression/test_print_area03.rb +12 -14
- data/test/regression/test_print_area04.rb +12 -14
- data/test/regression/test_print_area05.rb +12 -14
- data/test/regression/test_print_area06.rb +12 -14
- data/test/regression/test_print_area07.rb +12 -14
- data/test/regression/test_print_options01.rb +12 -14
- data/test/regression/test_print_options02.rb +12 -14
- data/test/regression/test_print_options03.rb +12 -14
- data/test/regression/test_print_options04.rb +12 -14
- data/test/regression/test_print_options05.rb +12 -14
- data/test/regression/test_print_options06.rb +12 -14
- data/test/regression/test_print_options07.rb +3 -5
- data/test/regression/test_print_scale01.rb +12 -14
- data/test/regression/test_print_scale02.rb +12 -14
- data/test/regression/test_properties01.rb +6 -7
- data/test/regression/test_protect01.rb +3 -3
- data/test/regression/test_protect02.rb +3 -3
- data/test/regression/test_protect03.rb +3 -3
- data/test/regression/test_quote_name01.rb +3 -3
- data/test/regression/test_quote_name03.rb +3 -3
- data/test/regression/test_quote_name04.rb +3 -3
- data/test/regression/test_repeat01.rb +12 -14
- data/test/regression/test_repeat02.rb +12 -14
- data/test/regression/test_repeat03.rb +12 -14
- data/test/regression/test_repeat04.rb +12 -14
- data/test/regression/test_repeat05.rb +15 -17
- data/test/regression/test_rich_string01.rb +3 -3
- data/test/regression/test_rich_string02.rb +3 -3
- data/test/regression/test_rich_string03.rb +3 -3
- data/test/regression/test_rich_string04.rb +3 -3
- data/test/regression/test_rich_string05.rb +3 -3
- data/test/regression/test_rich_string06.rb +3 -3
- data/test/regression/test_rich_string07.rb +3 -3
- data/test/regression/test_rich_string08.rb +3 -3
- data/test/regression/test_rich_string09.rb +3 -3
- data/test/regression/test_rich_string10.rb +3 -3
- data/test/regression/test_rich_string11.rb +3 -3
- data/test/regression/test_rich_string12.rb +3 -3
- data/test/regression/test_row_col_format01.rb +3 -3
- data/test/regression/test_row_col_format02.rb +3 -3
- data/test/regression/test_row_col_format03.rb +3 -3
- data/test/regression/test_row_col_format04.rb +3 -3
- data/test/regression/test_row_col_format05.rb +3 -3
- data/test/regression/test_row_col_format06.rb +3 -3
- data/test/regression/test_row_col_format07.rb +3 -3
- data/test/regression/test_row_col_format08.rb +3 -3
- data/test/regression/test_row_col_format09.rb +3 -3
- data/test/regression/test_row_col_format10.rb +3 -3
- data/test/regression/test_row_col_format11.rb +3 -3
- data/test/regression/test_row_col_format12.rb +3 -3
- data/test/regression/test_row_col_format13.rb +3 -3
- data/test/regression/test_row_col_format14.rb +3 -3
- data/test/regression/test_selection01.rb +3 -3
- data/test/regression/test_selection02.rb +3 -3
- data/test/regression/test_set_column01.rb +3 -3
- data/test/regression/test_set_column02.rb +3 -3
- data/test/regression/test_set_column03.rb +2 -6
- data/test/regression/test_set_column04.rb +3 -3
- data/test/regression/test_set_column05.rb +3 -3
- data/test/regression/test_set_column06.rb +3 -3
- data/test/regression/test_set_column07.rb +3 -3
- data/test/regression/test_set_column08.rb +3 -3
- data/test/regression/test_set_column09.rb +3 -3
- data/test/regression/test_set_print_scale01.rb +3 -3
- data/test/regression/test_set_start_page01.rb +3 -3
- data/test/regression/test_set_start_page02.rb +3 -3
- data/test/regression/test_set_start_page03.rb +3 -3
- data/test/regression/test_shape01.rb +3 -3
- data/test/regression/test_shape02.rb +3 -3
- data/test/regression/test_shape03.rb +3 -3
- data/test/regression/test_shape04.rb +3 -3
- data/test/regression/test_shape_connect01.rb +3 -3
- data/test/regression/test_shape_connect02.rb +3 -3
- data/test/regression/test_shape_connect03.rb +3 -3
- data/test/regression/test_shape_connect04.rb +3 -3
- data/test/regression/test_shape_scale01.rb +12 -14
- data/test/regression/test_shape_stencil01.rb +3 -8
- data/test/regression/test_shared_strings01.rb +6 -8
- data/test/regression/test_shared_strings02.rb +6 -8
- data/test/regression/test_shared_strings_encoding.rb +0 -103
- data/test/regression/test_simple01.rb +3 -3
- data/test/regression/test_simple02.rb +3 -3
- data/test/regression/test_simple03.rb +3 -3
- data/test/regression/test_simple04.rb +3 -3
- data/test/regression/test_simple05.rb +3 -3
- data/test/regression/test_tab_color01.rb +2 -11
- data/test/regression/test_table01.rb +3 -3
- data/test/regression/test_table02.rb +3 -3
- data/test/regression/test_table03.rb +3 -3
- data/test/regression/test_table04.rb +3 -3
- data/test/regression/test_table05.rb +3 -3
- data/test/regression/test_table06.rb +3 -3
- data/test/regression/test_table07.rb +3 -3
- data/test/regression/test_table08.rb +3 -3
- data/test/regression/test_table09.rb +3 -3
- data/test/regression/test_table10.rb +3 -3
- data/test/regression/test_table11.rb +3 -3
- data/test/regression/test_table12.rb +3 -3
- data/test/regression/test_table13.rb +3 -3
- data/test/regression/test_table14.rb +3 -3
- data/test/regression/test_table15.rb +3 -3
- data/test/regression/test_table16.rb +3 -3
- data/test/regression/test_table17.rb +3 -3
- data/test/regression/test_tutorial01.rb +3 -3
- data/test/regression/test_tutorial02.rb +3 -3
- data/test/regression/test_tutorial03.rb +3 -3
- data/test/regression/test_urls_as_strings.rb +3 -3
- data/test/regression/test_utf8_01.rb +3 -3
- data/test/regression/test_utf8_03.rb +3 -3
- data/test/regression/test_utf8_04.rb +3 -3
- data/test/regression/test_utf8_05.rb +3 -3
- data/test/regression/test_utf8_06.rb +3 -3
- data/test/regression/test_utf8_07.rb +3 -3
- data/test/regression/test_utf8_08.rb +3 -3
- data/test/regression/test_utf8_09.rb +2 -6
- data/test/regression/test_utf8_10.rb +3 -3
- data/test/regression/test_vml01.rb +3 -3
- data/test/regression/test_vml02.rb +3 -3
- data/test/regression/test_vml03.rb +3 -3
- data/test/run_test.rb +9 -0
- data/test/test_example_match.rb +199 -133
- data/test/test_xml_writer_simple.rb +3 -3
- data/test/worksheet/test_format.rb +17 -0
- metadata +7 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 46ee9d7976dffd23442ab3dc1c87eb79d11786b5c6c9747f805a018a22330698
|
|
4
|
+
data.tar.gz: 43c1478b3d812cc7ba3d3d616b9fe9c14ef58b0e63c565d3d90378cdad6cdb92
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 626c6f160305d4a67487c10174d45daf37cd7e9eef9736f5d6adbf44219e0aa996f52dc07564b3124141cc94d3d286acf9631176b913cf91e733de8ef0fda16d
|
|
7
|
+
data.tar.gz: a1d8170e68cbd7ee0f06a5b9ea00aa801bf990a6a06090ce0abe275bd84bd8c1201740e30735b887761a57e0d28357431e6a3d5a5e17a995b6fe2d5ff2c7a43a
|
data/.gitignore
CHANGED
data/Changes
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
Change history of write_xlsx rubygem.
|
|
2
2
|
|
|
3
|
+
2020-10-23 v0.85.10
|
|
4
|
+
Fix frozen string litterals problems in Format#set_align
|
|
5
|
+
|
|
6
|
+
2020-09-07 v0.85.9
|
|
7
|
+
apply pull-request #59 and #60
|
|
8
|
+
|
|
9
|
+
2020-09-03 v0.85.8
|
|
10
|
+
apply pull-request #58 and #52
|
|
11
|
+
|
|
12
|
+
2019-06-20 v0.85.7
|
|
13
|
+
apply pull-request #26
|
|
14
|
+
|
|
15
|
+
2019-02-10 v0.85.6
|
|
16
|
+
Fix work well in ms windows.
|
|
17
|
+
|
|
3
18
|
2018-04-29 v0.85.5
|
|
4
19
|
Added option to store hyperlink strings as string (strings_as_urls: false).
|
|
5
20
|
|
data/lib/write_xlsx/chart.rb
CHANGED
|
@@ -2631,7 +2631,7 @@ def write_custom_error_base(tag, values, data)
|
|
|
2631
2631
|
end
|
|
2632
2632
|
|
|
2633
2633
|
def write_num_ref_or_lit(values, data)
|
|
2634
|
-
if values =~ /^=/ # '=Sheet1!$A$1:$A$5'
|
|
2634
|
+
if values.to_s =~ /^=/ # '=Sheet1!$A$1:$A$5'
|
|
2635
2635
|
write_num_ref(values, data, 'num')
|
|
2636
2636
|
else # [1, 2, 3]
|
|
2637
2637
|
write_num_lit(values)
|
data/lib/write_xlsx/format.rb
CHANGED
|
@@ -287,11 +287,10 @@ def set_format_properties(*properties) # :nodoc:
|
|
|
287
287
|
|
|
288
288
|
# Create a sub to set the property.
|
|
289
289
|
if value.respond_to?(:to_str) || !value.respond_to?(:+)
|
|
290
|
-
|
|
290
|
+
send("set_#{key}", value.to_s)
|
|
291
291
|
else
|
|
292
|
-
|
|
292
|
+
send("set_#{key}", value)
|
|
293
293
|
end
|
|
294
|
-
eval s
|
|
295
294
|
end
|
|
296
295
|
end
|
|
297
296
|
end
|
|
@@ -507,7 +506,7 @@ def self.color(color_code)
|
|
|
507
506
|
def set_align(location)
|
|
508
507
|
return unless location # No default
|
|
509
508
|
|
|
510
|
-
location.downcase
|
|
509
|
+
location = location.downcase
|
|
511
510
|
|
|
512
511
|
set_text_h_align(1) if location == 'left'
|
|
513
512
|
set_text_h_align(2) if location == 'centre'
|
|
@@ -306,7 +306,7 @@ def range_start_cell_for_conditional_formatting(*args) # :nodoc:
|
|
|
306
306
|
|
|
307
307
|
def row_col_param_for_conditional_formatting(*args)
|
|
308
308
|
# Check for a cell reference in A1 notation and substitute row and column
|
|
309
|
-
if args[0] =~ /^\D/
|
|
309
|
+
if args[0].to_s =~ /^\D/
|
|
310
310
|
# Check for a user defined multiple range like B3:K6,B8:K11.
|
|
311
311
|
user_range = args[0].sub(/^=/, '').gsub(/\s*,\s*/, ' ').gsub(/\$/, '') if args[0] =~ /,/
|
|
312
312
|
end
|
|
@@ -383,7 +383,7 @@ def check_conditional_formatting_parameters(param) # :nodoc:
|
|
|
383
383
|
end
|
|
384
384
|
|
|
385
385
|
def convert_date_time_if_required(val)
|
|
386
|
-
if val =~ /T/
|
|
386
|
+
if val.to_s =~ /T/
|
|
387
387
|
date_time = convert_date_time(val)
|
|
388
388
|
raise "Invalid date/time value '#{val}' in conditional_formatting()" unless date_time
|
|
389
389
|
date_time
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
|
+
# frozen_string_literal: true
|
|
2
3
|
require 'write_xlsx/package/xml_writer_simple'
|
|
3
4
|
require 'write_xlsx/utility'
|
|
4
5
|
|
|
@@ -8,29 +9,33 @@ class SharedStrings
|
|
|
8
9
|
|
|
9
10
|
include Writexlsx::Utility
|
|
10
11
|
|
|
12
|
+
PRESERVE_SPACE_ATTRIBUTES = ['xml:space', 'preserve'].freeze
|
|
13
|
+
|
|
11
14
|
def initialize
|
|
12
|
-
@writer
|
|
13
|
-
@strings
|
|
14
|
-
@
|
|
15
|
+
@writer = Package::XMLWriterSimple.new
|
|
16
|
+
@strings = [] # string table
|
|
17
|
+
@strings_index = {} # string table index
|
|
18
|
+
@count = 0 # count
|
|
15
19
|
end
|
|
16
20
|
|
|
17
21
|
def index(string, params = {})
|
|
18
22
|
add(string) unless params[:only_query]
|
|
19
|
-
@
|
|
23
|
+
@strings_index[string]
|
|
20
24
|
end
|
|
21
25
|
|
|
22
26
|
def add(string)
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
unless @strings_index[string]
|
|
28
|
+
# Only first time the string will be append to list
|
|
29
|
+
# next time we only check and not #dup it
|
|
30
|
+
str = string.dup.freeze
|
|
27
31
|
@strings << str
|
|
28
|
-
@
|
|
32
|
+
@strings_index[str] = @strings.size - 1
|
|
29
33
|
end
|
|
34
|
+
@count += 1
|
|
30
35
|
end
|
|
31
36
|
|
|
32
37
|
def string(index)
|
|
33
|
-
@strings[index]
|
|
38
|
+
@strings[index]
|
|
34
39
|
end
|
|
35
40
|
|
|
36
41
|
def empty?
|
|
@@ -77,7 +82,6 @@ def write_sst_strings
|
|
|
77
82
|
# Write the <si> element.
|
|
78
83
|
#
|
|
79
84
|
def write_si(string)
|
|
80
|
-
string = string.dup
|
|
81
85
|
attributes = []
|
|
82
86
|
|
|
83
87
|
# Excel escapes control characters with _xHHHH_ and also escapes any
|
|
@@ -100,7 +104,7 @@ def write_si(string)
|
|
|
100
104
|
end
|
|
101
105
|
|
|
102
106
|
# Add attribute to preserve leading or trailing whitespace.
|
|
103
|
-
attributes <<
|
|
107
|
+
attributes << PRESERVE_SPACE_ATTRIBUTES if string =~ /\A\s|\s\Z/
|
|
104
108
|
|
|
105
109
|
# Write any rich strings without further tags.
|
|
106
110
|
if string =~ %r{^<r>} && string =~ %r{</r>$}
|
|
@@ -120,7 +124,7 @@ def add_c2_c3(string)
|
|
|
120
124
|
end
|
|
121
125
|
|
|
122
126
|
def total_count
|
|
123
|
-
@count
|
|
127
|
+
@count
|
|
124
128
|
end
|
|
125
129
|
|
|
126
130
|
def unique_count
|
|
@@ -49,7 +49,7 @@ def set_style_properties(xf_formats, palette, font_count, num_format_count, bord
|
|
|
49
49
|
# based on the default or user defined values in the Workbook palette.
|
|
50
50
|
#
|
|
51
51
|
def palette_color(index)
|
|
52
|
-
if index =~ /^#([0-9A-F]{6})$/i
|
|
52
|
+
if index.to_s =~ /^#([0-9A-F]{6})$/i
|
|
53
53
|
"FF#{$1.upcase}"
|
|
54
54
|
else
|
|
55
55
|
"FF#{super(index)}"
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
|
+
# frozen_string_literal: true
|
|
2
3
|
#
|
|
3
4
|
# XMLWriterSimple
|
|
4
5
|
#
|
|
@@ -29,10 +30,9 @@ def tag_elements(tag, attributes = [])
|
|
|
29
30
|
end
|
|
30
31
|
|
|
31
32
|
def tag_elements_str(tag, attributes = [])
|
|
32
|
-
str =
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
str << end_tag_str(tag)
|
|
33
|
+
str = start_tag_str(tag, attributes) +
|
|
34
|
+
yield +
|
|
35
|
+
end_tag_str(tag)
|
|
36
36
|
end
|
|
37
37
|
|
|
38
38
|
def start_tag(tag, attr = [])
|
|
@@ -65,7 +65,7 @@ def empty_tag_encoded_str(tag, attr = [])
|
|
|
65
65
|
end
|
|
66
66
|
|
|
67
67
|
def data_element(tag, data, attr = [])
|
|
68
|
-
tag_elements(tag, attr) { io_write(
|
|
68
|
+
tag_elements(tag, attr) { io_write(escape_data(data)) }
|
|
69
69
|
end
|
|
70
70
|
|
|
71
71
|
#
|
|
@@ -92,7 +92,7 @@ def crlf
|
|
|
92
92
|
|
|
93
93
|
def close
|
|
94
94
|
if @filename
|
|
95
|
-
File.open(@filename, "wb") { |f| f << string }
|
|
95
|
+
File.open(@filename, "wb:utf-8:utf-8") { |f| f << string }
|
|
96
96
|
end
|
|
97
97
|
@io.close
|
|
98
98
|
end
|
|
@@ -118,7 +118,7 @@ def key_vals(attribute)
|
|
|
118
118
|
end
|
|
119
119
|
|
|
120
120
|
def escape_attributes(str = '')
|
|
121
|
-
return str if !(str =~ /["&<>]/)
|
|
121
|
+
return str if !(str.to_s =~ /["&<>]/)
|
|
122
122
|
|
|
123
123
|
str.
|
|
124
124
|
gsub(/&/, "&").
|
|
@@ -128,7 +128,7 @@ def escape_attributes(str = '')
|
|
|
128
128
|
end
|
|
129
129
|
|
|
130
130
|
def escape_data(str = '')
|
|
131
|
-
if str =~ /[&<>]/
|
|
131
|
+
if str.to_s =~ /[&<>]/
|
|
132
132
|
str.gsub(/&/, '&').
|
|
133
133
|
gsub(/</, '<').
|
|
134
134
|
gsub(/>/, '>')
|
data/lib/write_xlsx/utility.rb
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
|
+
# frozen_string_literal: true
|
|
2
3
|
require 'write_xlsx/col_name'
|
|
3
4
|
|
|
4
5
|
module Writexlsx
|
|
@@ -243,7 +244,7 @@ def put_deprecate_message(method)
|
|
|
243
244
|
|
|
244
245
|
# Check for a cell reference in A1 notation and substitute row and column
|
|
245
246
|
def row_col_notation(args) # :nodoc:
|
|
246
|
-
if args[0] =~ /^\D/
|
|
247
|
+
if args[0].to_s =~ /^\D/
|
|
247
248
|
substitute_cellref(*args)
|
|
248
249
|
else
|
|
249
250
|
args
|
|
@@ -303,11 +304,12 @@ def write_color(writer, name, value) #:nodoc:
|
|
|
303
304
|
writer.empty_tag('color', attributes)
|
|
304
305
|
end
|
|
305
306
|
|
|
307
|
+
PERL_TRUE_VALUES = [false, nil, 0, "0", "", [], {}].freeze
|
|
306
308
|
#
|
|
307
309
|
# return perl's boolean result
|
|
308
310
|
#
|
|
309
311
|
def ptrue?(value)
|
|
310
|
-
if
|
|
312
|
+
if PERL_TRUE_VALUES.include?(value)
|
|
311
313
|
false
|
|
312
314
|
else
|
|
313
315
|
true
|
data/lib/write_xlsx/version.rb
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
WriteXLSX_VERSION = "0.85.
|
|
1
|
+
WriteXLSX_VERSION = "0.85.10"
|
data/lib/write_xlsx/workbook.rb
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
|
+
# frozen_string_literal: true
|
|
2
3
|
require 'write_xlsx/package/xml_writer_simple'
|
|
3
4
|
require 'write_xlsx/package/packager'
|
|
4
5
|
require 'write_xlsx/sheets'
|
|
@@ -926,7 +927,7 @@ def set_calc_mode(mode, calc_id = nil)
|
|
|
926
927
|
#
|
|
927
928
|
def set_custom_color(index, red = 0, green = 0, blue = 0)
|
|
928
929
|
# Match a HTML #xxyyzz style parameter
|
|
929
|
-
if red =~ /^#(\w\w)(\w\w)(\w\w)/
|
|
930
|
+
if red.to_s =~ /^#(\w\w)(\w\w)(\w\w)/
|
|
930
931
|
red = $1.hex
|
|
931
932
|
green = $2.hex
|
|
932
933
|
blue = $3.hex
|
|
@@ -972,8 +973,9 @@ def date_1904? #:nodoc:
|
|
|
972
973
|
# Add a string to the shared string table, if it isn't already there, and
|
|
973
974
|
# return the string index.
|
|
974
975
|
#
|
|
975
|
-
|
|
976
|
-
|
|
976
|
+
EMPTY_HASH = {}.freeze
|
|
977
|
+
def shared_string_index(str) #:nodoc:
|
|
978
|
+
@shared_strings.index(str, EMPTY_HASH)
|
|
977
979
|
end
|
|
978
980
|
|
|
979
981
|
def str_unique # :nodoc:
|
data/lib/write_xlsx/worksheet.rb
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
|
+
# frozen_string_literal: true
|
|
2
3
|
require 'write_xlsx/package/xml_writer_simple'
|
|
3
4
|
require 'write_xlsx/package/button'
|
|
4
5
|
require 'write_xlsx/colors'
|
|
@@ -720,7 +721,7 @@ def protect_default_settings # :nodoc:
|
|
|
720
721
|
#
|
|
721
722
|
def set_column(*args)
|
|
722
723
|
# Check for a cell reference in A1 notation and substitute row and column
|
|
723
|
-
if args[0] =~ /^\D/
|
|
724
|
+
if args[0].to_s =~ /^\D/
|
|
724
725
|
row1, firstcol, row2, lastcol, *data = substitute_cellref(*args)
|
|
725
726
|
else
|
|
726
727
|
firstcol, lastcol, *data = args
|
|
@@ -2188,7 +2189,7 @@ def write_comment(*args)
|
|
|
2188
2189
|
def write_number(*args)
|
|
2189
2190
|
# Check for a cell reference in A1 notation and substitute row and column
|
|
2190
2191
|
row, col, num, xf = row_col_notation(args)
|
|
2191
|
-
raise WriteXLSXInsufficientArgumentError if
|
|
2192
|
+
raise WriteXLSXInsufficientArgumentError if row.nil? || col.nil? || num.nil?
|
|
2192
2193
|
|
|
2193
2194
|
# Check that row and col are valid and store max and min values
|
|
2194
2195
|
check_dimensions(row, col)
|
|
@@ -2230,13 +2231,13 @@ def write_string(*args)
|
|
|
2230
2231
|
# Check for a cell reference in A1 notation and substitute row and column
|
|
2231
2232
|
row, col, str, xf = row_col_notation(args)
|
|
2232
2233
|
str &&= str.to_s
|
|
2233
|
-
raise WriteXLSXInsufficientArgumentError if
|
|
2234
|
+
raise WriteXLSXInsufficientArgumentError if row.nil? || col.nil? || str.nil?
|
|
2234
2235
|
|
|
2235
2236
|
# Check that row and col are valid and store max and min values
|
|
2236
2237
|
check_dimensions(row, col)
|
|
2237
2238
|
store_row_col_max_min_values(row, col)
|
|
2238
2239
|
|
|
2239
|
-
index = shared_string_index(str[0, STR_MAX])
|
|
2240
|
+
index = shared_string_index(str.length > STR_MAX ? str[0, STR_MAX] : str)
|
|
2240
2241
|
|
|
2241
2242
|
store_data_to_table(StringCellData.new(self, row, col, index, xf))
|
|
2242
2243
|
end
|
|
@@ -5810,7 +5811,7 @@ def excel2003_style? # :nodoc:
|
|
|
5810
5811
|
# based on the default or user defined values in the Workbook palette.
|
|
5811
5812
|
#
|
|
5812
5813
|
def palette_color(index) #:nodoc:
|
|
5813
|
-
if index =~ /^#([0-9A-F]{6})$/i
|
|
5814
|
+
if index.to_s =~ /^#([0-9A-F]{6})$/i
|
|
5814
5815
|
"FF#{$1.upcase}"
|
|
5815
5816
|
else
|
|
5816
5817
|
"FF#{super(index)}"
|
|
@@ -5849,10 +5850,11 @@ def prepare_vml_objects(vml_data_id, vml_shape_id, vml_drawing_id, comment_id)
|
|
|
5849
5850
|
|
|
5850
5851
|
# The VML o:idmap data id contains a comma separated range when there is
|
|
5851
5852
|
# more than one 1024 block of comments, like this: data="1,2".
|
|
5853
|
+
data = "#{vml_data_id}"
|
|
5852
5854
|
(1 .. num_comments_block).each do |i|
|
|
5853
|
-
|
|
5855
|
+
data += ",#{vml_data_id + i}"
|
|
5854
5856
|
end
|
|
5855
|
-
@vml_data_id =
|
|
5857
|
+
@vml_data_id = data
|
|
5856
5858
|
@vml_shape_id = vml_shape_id
|
|
5857
5859
|
end
|
|
5858
5860
|
|
|
@@ -6098,7 +6100,7 @@ def parse_filter_tokens(expression, tokens) #:nodoc:
|
|
|
6098
6100
|
# Special handling of "Top" filter expressions.
|
|
6099
6101
|
if tokens[0] =~ /^top|bottom$/i
|
|
6100
6102
|
value = tokens[1]
|
|
6101
|
-
if (value =~ /\D/ or value.to_i < 1 or value.to_i > 500)
|
|
6103
|
+
if (value.to_s =~ /\D/ or value.to_i < 1 or value.to_i > 500)
|
|
6102
6104
|
raise "The value '#{value}' in expression '#{expression}' " +
|
|
6103
6105
|
"must be in the range 1 to 500"
|
|
6104
6106
|
end
|
|
@@ -6127,7 +6129,7 @@ def parse_filter_tokens(expression, tokens) #:nodoc:
|
|
|
6127
6129
|
end
|
|
6128
6130
|
|
|
6129
6131
|
# Special handling for Blanks/NonBlanks.
|
|
6130
|
-
if (token =~ /^blanks|nonblanks$/i)
|
|
6132
|
+
if (token.to_s =~ /^blanks|nonblanks$/i)
|
|
6131
6133
|
# Only allow Equals or NotEqual in this context.
|
|
6132
6134
|
if (operator != 2 and operator != 5)
|
|
6133
6135
|
raise "The operator '#{tokens[1]}' in expression '#{expression}' " +
|
|
@@ -6155,7 +6157,7 @@ def parse_filter_tokens(expression, tokens) #:nodoc:
|
|
|
6155
6157
|
|
|
6156
6158
|
# if the string token contains an Excel match character then change the
|
|
6157
6159
|
# operator type to indicate a non "simple" equality.
|
|
6158
|
-
if (operator == 2 and token =~ /[*?]/)
|
|
6160
|
+
if (operator == 2 and token.to_s =~ /[*?]/)
|
|
6159
6161
|
operator = 22
|
|
6160
6162
|
end
|
|
6161
6163
|
|
|
@@ -7509,8 +7511,8 @@ def calc_spans(data, row_num, span_min, span_max)
|
|
|
7509
7511
|
# Add a string to the shared string table, if it isn't already there, and
|
|
7510
7512
|
# return the string index.
|
|
7511
7513
|
#
|
|
7512
|
-
def shared_string_index(str
|
|
7513
|
-
@workbook.shared_string_index(str
|
|
7514
|
+
def shared_string_index(str) #:nodoc:
|
|
7515
|
+
@workbook.shared_string_index(str)
|
|
7514
7516
|
end
|
|
7515
7517
|
|
|
7516
7518
|
#
|
|
@@ -7633,7 +7635,7 @@ def set_active_pane_and_cell_selections(row, col, top_row, left_col, active_cell
|
|
|
7633
7635
|
|
|
7634
7636
|
def prepare_filter_column(col) # :nodoc:
|
|
7635
7637
|
# Check for a column reference in A1 notation and substitute.
|
|
7636
|
-
if col =~ /^\D/
|
|
7638
|
+
if col.to_s =~ /^\D/
|
|
7637
7639
|
col_letter = col
|
|
7638
7640
|
|
|
7639
7641
|
# Convert col ref to a cell ref and then to a col number.
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
|
2
|
+
# frozen_string_literal: true
|
|
2
3
|
|
|
3
4
|
module Writexlsx
|
|
4
5
|
class Worksheet
|
|
@@ -63,9 +64,10 @@ def data
|
|
|
63
64
|
{ :sst_id => token }
|
|
64
65
|
end
|
|
65
66
|
|
|
67
|
+
TYPE_STR_ATTRS = ['t', 's'].freeze
|
|
66
68
|
def write_cell
|
|
67
69
|
attributes = cell_attributes
|
|
68
|
-
attributes <<
|
|
70
|
+
attributes << TYPE_STR_ATTRS
|
|
69
71
|
@worksheet.writer.tag_elements('c', attributes) do
|
|
70
72
|
@worksheet.write_cell_value(token)
|
|
71
73
|
end
|
|
@@ -282,7 +282,7 @@ def valid_criteria_type # :nodoc:
|
|
|
282
282
|
|
|
283
283
|
def convert_date_time_value(key) # :nodoc:
|
|
284
284
|
value = instance_variable_get("@#{key}")
|
|
285
|
-
if value && value =~ /T/
|
|
285
|
+
if value && value.to_s =~ /T/
|
|
286
286
|
date_time = convert_date_time(value)
|
|
287
287
|
instance_variable_set("@#{key}", date_time) if date_time
|
|
288
288
|
date_time
|
|
@@ -24,7 +24,7 @@ def initialize(url, str, tip)
|
|
|
24
24
|
str ||= url.dup
|
|
25
25
|
|
|
26
26
|
# Strip the mailto header.
|
|
27
|
-
str.sub
|
|
27
|
+
normalized_str = str.sub(/^mailto:/, '')
|
|
28
28
|
|
|
29
29
|
# Escape URL unless it looks already escaped.
|
|
30
30
|
url = escape_url(url)
|
|
@@ -35,7 +35,7 @@ def initialize(url, str, tip)
|
|
|
35
35
|
end
|
|
36
36
|
|
|
37
37
|
@url = url
|
|
38
|
-
@str =
|
|
38
|
+
@str = normalized_str
|
|
39
39
|
@url_str = nil
|
|
40
40
|
@tip = tip
|
|
41
41
|
end
|