write_xlsx 1.09.3 → 1.11.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +128 -0
- data/.rubocop_todo.yml +445 -0
- data/Changes +49 -0
- data/Gemfile +2 -0
- data/LICENSE.txt +1 -1
- data/README.md +2 -2
- data/Rakefile +14 -8
- data/examples/array_formula.rb +2 -2
- data/examples/autofilter.rb +50 -26
- data/examples/autofit.rb +37 -0
- data/examples/chart_area.rb +16 -16
- data/examples/chart_bar.rb +16 -16
- data/examples/chart_clustered.rb +12 -12
- data/examples/chart_column.rb +16 -16
- data/examples/chart_combined.rb +27 -28
- data/examples/chart_data_labels.rb +103 -115
- data/examples/chart_data_table.rb +29 -29
- data/examples/chart_data_tools.rb +55 -61
- data/examples/chart_doughnut.rb +34 -38
- data/examples/chart_gauge.rb +20 -20
- data/examples/chart_line.rb +44 -45
- data/examples/chart_pareto.rb +18 -18
- data/examples/chart_pie.rb +22 -22
- data/examples/chart_radar.rb +41 -47
- data/examples/chart_scatter.rb +16 -16
- data/examples/chart_secondary_axis.rb +16 -16
- data/examples/chart_stock.rb +22 -23
- data/examples/chart_styles.rb +8 -9
- data/examples/colors.rb +31 -34
- data/examples/comments1.rb +1 -0
- data/examples/comments2.rb +85 -114
- data/examples/conditional_format.rb +164 -155
- data/examples/data_validate.rb +135 -122
- data/examples/date_time.rb +30 -30
- data/examples/defined_name.rb +5 -5
- data/examples/demo.rb +14 -16
- data/examples/diag_border.rb +7 -8
- data/examples/dynamic_arrays.rb +247 -0
- data/examples/formats.rb +95 -107
- data/examples/headers.rb +2 -7
- data/examples/hyperlink1.rb +5 -6
- data/examples/ignore_errors.rb +2 -2
- data/examples/indent.rb +2 -2
- data/examples/lambda.rb +43 -0
- data/examples/macros.rb +6 -6
- data/examples/merge1.rb +1 -4
- data/examples/merge2.rb +9 -12
- data/examples/merge3.rb +6 -7
- data/examples/merge4.rb +22 -24
- data/examples/merge5.rb +24 -24
- data/examples/merge6.rb +8 -8
- data/examples/outline.rb +9 -17
- data/examples/outline_collapsed.rb +7 -7
- data/examples/panes.rb +16 -16
- data/examples/properties.rb +9 -9
- data/examples/protection.rb +2 -2
- data/examples/rich_strings.rb +25 -17
- data/examples/shape1.rb +9 -9
- data/examples/shape2.rb +19 -19
- data/examples/shape3.rb +6 -6
- data/examples/shape4.rb +9 -9
- data/examples/shape5.rb +9 -9
- data/examples/shape6.rb +9 -9
- data/examples/shape7.rb +15 -15
- data/examples/shape8.rb +15 -15
- data/examples/shape_all.rb +7 -7
- data/examples/sparklines1.rb +23 -24
- data/examples/sparklines2.rb +152 -152
- data/examples/tables.rb +119 -127
- data/examples/update_range_format_with_params.rb +4 -4
- data/examples/watermark.png +0 -0
- data/examples/watermark.rb +26 -0
- data/lib/write_xlsx/chart/area.rb +9 -9
- data/lib/write_xlsx/chart/axis.rb +13 -24
- data/lib/write_xlsx/chart/bar.rb +9 -12
- data/lib/write_xlsx/chart/caption.rb +1 -0
- data/lib/write_xlsx/chart/column.rb +4 -4
- data/lib/write_xlsx/chart/doughnut.rb +4 -2
- data/lib/write_xlsx/chart/legend.rb +1 -0
- data/lib/write_xlsx/chart/line.rb +18 -18
- data/lib/write_xlsx/chart/pie.rb +27 -14
- data/lib/write_xlsx/chart/radar.rb +10 -10
- data/lib/write_xlsx/chart/scatter.rb +23 -25
- data/lib/write_xlsx/chart/series.rb +112 -73
- data/lib/write_xlsx/chart/stock.rb +30 -24
- data/lib/write_xlsx/chart.rb +320 -269
- data/lib/write_xlsx/chartsheet.rb +33 -32
- data/lib/write_xlsx/col_name.rb +9 -3
- data/lib/write_xlsx/colors.rb +21 -19
- data/lib/write_xlsx/compatibility.rb +15 -15
- data/lib/write_xlsx/drawing.rb +72 -63
- data/lib/write_xlsx/format.rb +71 -69
- data/lib/write_xlsx/formats.rb +2 -0
- data/lib/write_xlsx/gradient.rb +7 -9
- data/lib/write_xlsx/package/app.rb +17 -16
- data/lib/write_xlsx/package/button.rb +9 -5
- data/lib/write_xlsx/package/comments.rb +36 -38
- data/lib/write_xlsx/package/conditional_format.rb +112 -120
- data/lib/write_xlsx/package/content_types.rb +21 -21
- data/lib/write_xlsx/package/core.rb +6 -4
- data/lib/write_xlsx/package/custom.rb +8 -7
- data/lib/write_xlsx/package/metadata.rb +7 -5
- data/lib/write_xlsx/package/packager.rb +39 -25
- data/lib/write_xlsx/package/relationships.rb +2 -1
- data/lib/write_xlsx/package/shared_strings.rb +17 -15
- data/lib/write_xlsx/package/styles.rb +74 -90
- data/lib/write_xlsx/package/table.rb +186 -131
- data/lib/write_xlsx/package/theme.rb +4 -3
- data/lib/write_xlsx/package/vml.rb +25 -31
- data/lib/write_xlsx/package/xml_writer_simple.rb +46 -40
- data/lib/write_xlsx/shape.rb +26 -36
- data/lib/write_xlsx/sheets.rb +41 -45
- data/lib/write_xlsx/sparkline.rb +299 -307
- data/lib/write_xlsx/utility.rb +210 -188
- data/lib/write_xlsx/version.rb +3 -1
- data/lib/write_xlsx/workbook.rb +289 -331
- data/lib/write_xlsx/worksheet/cell_data.rb +87 -66
- data/lib/write_xlsx/worksheet/data_validation.rb +79 -74
- data/lib/write_xlsx/worksheet/hyperlink.rb +14 -19
- data/lib/write_xlsx/worksheet/page_setup.rb +10 -11
- data/lib/write_xlsx/worksheet.rb +1449 -866
- data/lib/write_xlsx/zip_file_utils.rb +33 -34
- data/lib/write_xlsx.rb +2 -3
- data/write_xlsx.gemspec +26 -19
- metadata +72 -3884
- data/.gitattributes +0 -1
- data/.gitignore +0 -45
- data/.travis.yml +0 -75
- data/bin/extract_vba.rb +0 -34
- data/test/chart/test_add_series.rb +0 -190
- data/test/chart/test_process_names.rb +0 -27
- data/test/chart/test_write_a_latin.rb +0 -22
- data/test/chart/test_write_auto.rb +0 -15
- data/test/chart/test_write_ax_id.rb +0 -15
- data/test/chart/test_write_ax_pos.rb +0 -15
- data/test/chart/test_write_cross_ax.rb +0 -15
- data/test/chart/test_write_crosses.rb +0 -15
- data/test/chart/test_write_d_lbls.rb +0 -292
- data/test/chart/test_write_format_code.rb +0 -16
- data/test/chart/test_write_idx.rb +0 -15
- data/test/chart/test_write_label_align.rb +0 -15
- data/test/chart/test_write_label_offset.rb +0 -15
- data/test/chart/test_write_lang.rb +0 -15
- data/test/chart/test_write_layout.rb +0 -15
- data/test/chart/test_write_legend.rb +0 -16
- data/test/chart/test_write_legend_pos.rb +0 -23
- data/test/chart/test_write_major_gridlines.rb +0 -15
- data/test/chart/test_write_marker.rb +0 -17
- data/test/chart/test_write_marker_size.rb +0 -15
- data/test/chart/test_write_marker_value.rb +0 -16
- data/test/chart/test_write_num_cache.rb +0 -16
- data/test/chart/test_write_number_format.rb +0 -48
- data/test/chart/test_write_order.rb +0 -15
- data/test/chart/test_write_orientation.rb +0 -15
- data/test/chart/test_write_page_margins.rb +0 -15
- data/test/chart/test_write_page_setup.rb +0 -15
- data/test/chart/test_write_plot_vis_only.rb +0 -15
- data/test/chart/test_write_pt.rb +0 -16
- data/test/chart/test_write_pt_count.rb +0 -16
- data/test/chart/test_write_series_formula.rb +0 -16
- data/test/chart/test_write_style.rb +0 -41
- data/test/chart/test_write_symbol.rb +0 -16
- data/test/chart/test_write_tick_lbl_pos.rb +0 -16
- data/test/chart/test_write_v.rb +0 -16
- data/test/chartsheet/test_chartsheet01.rb +0 -31
- data/test/chartsheet/test_write_sheet_protection.rb +0 -91
- data/test/drawing/test_drawing_chart_01.rb +0 -54
- data/test/drawing/test_drawing_image_01.rb +0 -68
- data/test/drawing/test_drawing_shape_01.rb +0 -71
- data/test/drawing/test_drawing_shape_02.rb +0 -80
- data/test/drawing/test_drawing_shape_03.rb +0 -41
- data/test/drawing/test_drawing_shape_04.rb +0 -105
- data/test/drawing/test_drawing_shape_05.rb +0 -48
- data/test/drawing/test_drawing_shape_06.rb +0 -47
- data/test/drawing/test_drawing_shape_07.rb +0 -52
- data/test/drawing/test_write_a_graphic_frame_locks.rb +0 -18
- data/test/drawing/test_write_c_chart.rb +0 -18
- data/test/drawing/test_write_c_nv_graphic_frame_pr.rb +0 -28
- data/test/drawing/test_write_c_nv_pr.rb +0 -18
- data/test/drawing/test_write_col.rb +0 -18
- data/test/drawing/test_write_col_off.rb +0 -18
- data/test/drawing/test_write_pos.rb +0 -18
- data/test/drawing/test_write_row.rb +0 -18
- data/test/drawing/test_write_row_off.rb +0 -18
- data/test/drawing/test_write_xdr_ext.rb +0 -18
- data/test/drawing/test_write_xfrm_extension.rb +0 -18
- data/test/drawing/test_write_xfrm_offset.rb +0 -18
- data/test/helper.rb +0 -206
- data/test/package/app/test_app01.rb +0 -44
- data/test/package/app/test_app02.rb +0 -46
- data/test/package/app/test_app03.rb +0 -53
- data/test/package/comments/test_comments_01.rb +0 -54
- data/test/package/comments/test_comments_02.rb +0 -54
- data/test/package/content_types/test_content_types.rb +0 -35
- data/test/package/content_types/test_write_default.rb +0 -13
- data/test/package/content_types/test_write_override.rb +0 -13
- data/test/package/core/test_core01.rb +0 -28
- data/test/package/core/test_core02.rb +0 -42
- data/test/package/relationships/test_relationships.rb +0 -28
- data/test/package/relationships/test_sheet_rels.rb +0 -22
- data/test/package/shared_strings/test_shared_strings01.rb +0 -30
- data/test/package/shared_strings/test_shared_strings02.rb +0 -30
- data/test/package/shared_strings/test_write_si.rb +0 -16
- data/test/package/styles/test_styles_01.rb +0 -60
- data/test/package/styles/test_styles_02.rb +0 -95
- data/test/package/styles/test_styles_03.rb +0 -81
- data/test/package/styles/test_styles_04.rb +0 -207
- data/test/package/styles/test_styles_05.rb +0 -141
- data/test/package/styles/test_styles_06.rb +0 -95
- data/test/package/styles/test_styles_07.rb +0 -95
- data/test/package/styles/test_styles_08.rb +0 -100
- data/test/package/styles/test_styles_09.rb +0 -86
- data/test/package/table/test_table01.rb +0 -42
- data/test/package/table/test_table02.rb +0 -44
- data/test/package/table/test_table03.rb +0 -48
- data/test/package/table/test_table04.rb +0 -46
- data/test/package/table/test_table05.rb +0 -46
- data/test/package/table/test_table06.rb +0 -52
- data/test/package/table/test_table07.rb +0 -47
- data/test/package/table/test_table08.rb +0 -53
- data/test/package/table/test_table09.rb +0 -65
- data/test/package/table/test_table10.rb +0 -45
- data/test/package/table/test_table11.rb +0 -60
- data/test/package/table/test_table12.rb +0 -60
- data/test/package/table/test_table13.rb +0 -69
- data/test/package/table/test_write_auto_filter.rb +0 -23
- data/test/package/table/test_write_table_column.rb +0 -22
- data/test/package/table/test_write_table_style_info.rb +0 -26
- data/test/package/vml/test_write_auto_fill.rb +0 -14
- data/test/package/vml/test_write_div.rb +0 -14
- data/test/package/vml/test_write_idmap.rb +0 -14
- data/test/package/vml/test_write_path.rb +0 -30
- data/test/package/vml/test_write_shapelayout.rb +0 -14
- data/test/package/vml/test_write_shapetype.rb +0 -22
- data/test/package/vml/test_write_stroke.rb +0 -14
- data/test/perl_output/a_simple.xlsx +0 -0
- data/test/perl_output/add_vba_project.xlsm +0 -0
- data/test/perl_output/array_formula.xlsx +0 -0
- data/test/perl_output/autofilter.xlsx +0 -0
- data/test/perl_output/background.xlsx +0 -0
- data/test/perl_output/chart_area.xlsx +0 -0
- data/test/perl_output/chart_bar.xlsx +0 -0
- data/test/perl_output/chart_column.xlsx +0 -0
- data/test/perl_output/chart_combined.xlsx +0 -0
- data/test/perl_output/chart_data_labels.xlsx +0 -0
- data/test/perl_output/chart_data_table.xlsx +0 -0
- data/test/perl_output/chart_data_tools.xlsx +0 -0
- data/test/perl_output/chart_doughnut.xlsx +0 -0
- data/test/perl_output/chart_gauge.xlsx +0 -0
- data/test/perl_output/chart_line.xlsx +0 -0
- data/test/perl_output/chart_pareto.xlsx +0 -0
- data/test/perl_output/chart_pie.xlsx +0 -0
- data/test/perl_output/chart_radar.xlsx +0 -0
- data/test/perl_output/chart_scatter.xlsx +0 -0
- data/test/perl_output/chart_scatter06.xlsx +0 -0
- data/test/perl_output/chart_secondary_axis.xlsx +0 -0
- data/test/perl_output/chart_stock.xlsx +0 -0
- data/test/perl_output/comments1.xlsx +0 -0
- data/test/perl_output/comments2.xlsx +0 -0
- data/test/perl_output/conditional_format.xlsx +0 -0
- data/test/perl_output/data_validate.xlsx +0 -0
- data/test/perl_output/date_time.xlsx +0 -0
- data/test/perl_output/defined_name.xlsx +0 -0
- data/test/perl_output/demo.xlsx +0 -0
- data/test/perl_output/diag_border.xlsx +0 -0
- data/test/perl_output/fit_to_pages.xlsx +0 -0
- data/test/perl_output/formats.xlsx +0 -0
- data/test/perl_output/headers.xlsx +0 -0
- data/test/perl_output/hide_first_sheet.xlsx +0 -0
- data/test/perl_output/hide_row_col.xlsx +0 -0
- data/test/perl_output/hide_sheet.xlsx +0 -0
- data/test/perl_output/hyperlink.xlsx +0 -0
- data/test/perl_output/ignore_errors.xlsx +0 -0
- data/test/perl_output/indent.xlsx +0 -0
- data/test/perl_output/keep_leading_zeros.xlsx +0 -0
- data/test/perl_output/merge1.xlsx +0 -0
- data/test/perl_output/merge2.xlsx +0 -0
- data/test/perl_output/merge3.xlsx +0 -0
- data/test/perl_output/merge4.xlsx +0 -0
- data/test/perl_output/merge5.xlsx +0 -0
- data/test/perl_output/merge6.xlsx +0 -0
- data/test/perl_output/multi_line.xlsx +0 -0
- data/test/perl_output/outline.xlsx +0 -0
- data/test/perl_output/outline_collapsed.xlsx +0 -0
- data/test/perl_output/panes.xlsx +0 -0
- data/test/perl_output/print_scale.xlsx +0 -0
- data/test/perl_output/properties.xlsx +0 -0
- data/test/perl_output/protection.xlsx +0 -0
- data/test/perl_output/regions.xlsx +0 -0
- data/test/perl_output/rich_strings.xlsx +0 -0
- data/test/perl_output/right_to_left.xlsx +0 -0
- data/test/perl_output/shape1.xlsx +0 -0
- data/test/perl_output/shape2.xlsx +0 -0
- data/test/perl_output/shape3.xlsx +0 -0
- data/test/perl_output/shape4.xlsx +0 -0
- data/test/perl_output/shape5.xlsx +0 -0
- data/test/perl_output/shape6.xlsx +0 -0
- data/test/perl_output/shape7.xlsx +0 -0
- data/test/perl_output/shape8.xlsx +0 -0
- data/test/perl_output/shape_all.xlsx +0 -0
- data/test/perl_output/sparklines1.xlsx +0 -0
- data/test/perl_output/sparklines2.xlsx +0 -0
- data/test/perl_output/stats.xlsx +0 -0
- data/test/perl_output/stats_ext.xlsx +0 -0
- data/test/perl_output/stocks.xlsx +0 -0
- data/test/perl_output/tab_colors.xlsx +0 -0
- data/test/perl_output/tables.xlsx +0 -0
- data/test/regression/_test_hyperlink31.rb +0 -26
- data/test/regression/disabled_test_vml04.rb +0 -41
- data/test/regression/images/black_150.jpg +0 -0
- data/test/regression/images/black_150.png +0 -0
- data/test/regression/images/black_150e.png +0 -0
- data/test/regression/images/black_300.jpg +0 -0
- data/test/regression/images/black_300.png +0 -0
- data/test/regression/images/black_300e.png +0 -0
- data/test/regression/images/black_72.jpg +0 -0
- data/test/regression/images/black_72.png +0 -0
- data/test/regression/images/black_72e.png +0 -0
- data/test/regression/images/black_96.jpg +0 -0
- data/test/regression/images/black_96.png +0 -0
- data/test/regression/images/blue.jpg +0 -0
- data/test/regression/images/blue.png +0 -0
- data/test/regression/images/grey.jpg +0 -0
- data/test/regression/images/grey.png +0 -0
- data/test/regression/images/happy.jpg +0 -0
- data/test/regression/images/issue32.png +0 -0
- data/test/regression/images/logo.gif +0 -0
- data/test/regression/images/logo.jpg +0 -0
- data/test/regression/images/logo.png +0 -0
- data/test/regression/images/mylogo.png +0 -0
- data/test/regression/images/red.bmp +0 -0
- data/test/regression/images/red.gif +0 -0
- data/test/regression/images/red.jpg +0 -0
- data/test/regression/images/red.png +0 -0
- data/test/regression/images/red2.png +0 -0
- data/test/regression/images/red_208.png +0 -0
- data/test/regression/images/red_64x20.png +0 -0
- data/test/regression/images/train.jpg +0 -0
- data/test/regression/images/yellow.jpg +0 -0
- data/test/regression/images/yellow.png +0 -0
- data/test/regression/images/zero_dpi.jpg +0 -0
- data/test/regression/klt.csv +0 -4
- data/test/regression/test_array_formula01.rb +0 -31
- data/test/regression/test_array_formula02.rb +0 -32
- data/test/regression/test_array_formula03.rb +0 -36
- data/test/regression/test_array_formula04.rb +0 -31
- data/test/regression/test_autofilter00.rb +0 -84
- data/test/regression/test_autofilter01.rb +0 -86
- data/test/regression/test_autofilter02.rb +0 -104
- data/test/regression/test_autofilter03.rb +0 -104
- data/test/regression/test_autofilter04.rb +0 -107
- data/test/regression/test_autofilter05.rb +0 -108
- data/test/regression/test_autofilter06.rb +0 -108
- data/test/regression/test_autofilter07.rb +0 -107
- data/test/regression/test_autofilter08.rb +0 -110
- data/test/regression/test_autofilter09.rb +0 -110
- data/test/regression/test_autofilter10.rb +0 -110
- data/test/regression/test_background01.rb +0 -23
- data/test/regression/test_background02.rb +0 -23
- data/test/regression/test_background03.rb +0 -24
- data/test/regression/test_background04.rb +0 -25
- data/test/regression/test_background05.rb +0 -25
- data/test/regression/test_background06.rb +0 -31
- data/test/regression/test_background07.rb +0 -37
- data/test/regression/test_button01.rb +0 -23
- data/test/regression/test_button02.rb +0 -29
- data/test/regression/test_button03.rb +0 -24
- data/test/regression/test_button04.rb +0 -25
- data/test/regression/test_button05.rb +0 -28
- data/test/regression/test_button06.rb +0 -28
- data/test/regression/test_button07.rb +0 -35
- data/test/regression/test_button08.rb +0 -28
- data/test/regression/test_button13.rb +0 -30
- data/test/regression/test_button14.rb +0 -31
- data/test/regression/test_chart_area01.rb +0 -45
- data/test/regression/test_chart_area02.rb +0 -45
- data/test/regression/test_chart_area03.rb +0 -45
- data/test/regression/test_chart_area04.rb +0 -44
- data/test/regression/test_chart_axis01.rb +0 -45
- data/test/regression/test_chart_axis02.rb +0 -45
- data/test/regression/test_chart_axis03.rb +0 -67
- data/test/regression/test_chart_axis04.rb +0 -52
- data/test/regression/test_chart_axis05.rb +0 -47
- data/test/regression/test_chart_axis06.rb +0 -49
- data/test/regression/test_chart_axis07.rb +0 -53
- data/test/regression/test_chart_axis08.rb +0 -52
- data/test/regression/test_chart_axis09.rb +0 -46
- data/test/regression/test_chart_axis10.rb +0 -52
- data/test/regression/test_chart_axis11.rb +0 -46
- data/test/regression/test_chart_axis12.rb +0 -46
- data/test/regression/test_chart_axis13.rb +0 -52
- data/test/regression/test_chart_axis14.rb +0 -66
- data/test/regression/test_chart_axis15.rb +0 -47
- data/test/regression/test_chart_axis16.rb +0 -69
- data/test/regression/test_chart_axis17.rb +0 -45
- data/test/regression/test_chart_axis18.rb +0 -43
- data/test/regression/test_chart_axis19.rb +0 -45
- data/test/regression/test_chart_axis20.rb +0 -45
- data/test/regression/test_chart_axis21.rb +0 -49
- data/test/regression/test_chart_axis22.rb +0 -44
- data/test/regression/test_chart_axis23.rb +0 -45
- data/test/regression/test_chart_axis24.rb +0 -45
- data/test/regression/test_chart_axis25.rb +0 -44
- data/test/regression/test_chart_axis26.rb +0 -46
- data/test/regression/test_chart_axis27.rb +0 -44
- data/test/regression/test_chart_axis28.rb +0 -44
- data/test/regression/test_chart_axis29.rb +0 -43
- data/test/regression/test_chart_axis30.rb +0 -40
- data/test/regression/test_chart_axis31.rb +0 -40
- data/test/regression/test_chart_axis32.rb +0 -40
- data/test/regression/test_chart_axis33.rb +0 -44
- data/test/regression/test_chart_axis34.rb +0 -43
- data/test/regression/test_chart_axis35.rb +0 -43
- data/test/regression/test_chart_axis36.rb +0 -43
- data/test/regression/test_chart_axis37.rb +0 -45
- data/test/regression/test_chart_axis38.rb +0 -43
- data/test/regression/test_chart_axis39.rb +0 -50
- data/test/regression/test_chart_axis40.rb +0 -44
- data/test/regression/test_chart_axis41.rb +0 -48
- data/test/regression/test_chart_axis42.rb +0 -44
- data/test/regression/test_chart_axis43.rb +0 -44
- data/test/regression/test_chart_axis44.rb +0 -54
- data/test/regression/test_chart_axis45.rb +0 -54
- data/test/regression/test_chart_axis46.rb +0 -54
- data/test/regression/test_chart_axis47.rb +0 -52
- data/test/regression/test_chart_axis48.rb +0 -53
- data/test/regression/test_chart_bar01.rb +0 -44
- data/test/regression/test_chart_bar02.rb +0 -54
- data/test/regression/test_chart_bar03.rb +0 -66
- data/test/regression/test_chart_bar04.rb +0 -69
- data/test/regression/test_chart_bar05.rb +0 -39
- data/test/regression/test_chart_bar06.rb +0 -49
- data/test/regression/test_chart_bar07.rb +0 -53
- data/test/regression/test_chart_bar08.rb +0 -43
- data/test/regression/test_chart_bar09.rb +0 -42
- data/test/regression/test_chart_bar10.rb +0 -46
- data/test/regression/test_chart_bar11.rb +0 -72
- data/test/regression/test_chart_bar12.rb +0 -38
- data/test/regression/test_chart_bar13.rb +0 -48
- data/test/regression/test_chart_bar14.rb +0 -64
- data/test/regression/test_chart_bar15.rb +0 -51
- data/test/regression/test_chart_bar16.rb +0 -49
- data/test/regression/test_chart_bar17.rb +0 -45
- data/test/regression/test_chart_bar18.rb +0 -56
- data/test/regression/test_chart_bar19.rb +0 -48
- data/test/regression/test_chart_bar20.rb +0 -45
- data/test/regression/test_chart_bar21.rb +0 -49
- data/test/regression/test_chart_bar22.rb +0 -66
- data/test/regression/test_chart_bar23.rb +0 -60
- data/test/regression/test_chart_bar24.rb +0 -44
- data/test/regression/test_chart_blank01.rb +0 -41
- data/test/regression/test_chart_blank02.rb +0 -41
- data/test/regression/test_chart_blank03.rb +0 -41
- data/test/regression/test_chart_blank04.rb +0 -41
- data/test/regression/test_chart_blank05.rb +0 -44
- data/test/regression/test_chart_blank06.rb +0 -41
- data/test/regression/test_chart_chartarea01.rb +0 -52
- data/test/regression/test_chart_chartarea02.rb +0 -52
- data/test/regression/test_chart_chartarea03.rb +0 -55
- data/test/regression/test_chart_chartarea04.rb +0 -71
- data/test/regression/test_chart_chartarea05.rb +0 -49
- data/test/regression/test_chart_chartarea06.rb +0 -49
- data/test/regression/test_chart_clustered01.rb +0 -65
- data/test/regression/test_chart_column01.rb +0 -39
- data/test/regression/test_chart_column02.rb +0 -44
- data/test/regression/test_chart_column03.rb +0 -44
- data/test/regression/test_chart_column04.rb +0 -44
- data/test/regression/test_chart_column05.rb +0 -39
- data/test/regression/test_chart_column06.rb +0 -45
- data/test/regression/test_chart_column07.rb +0 -40
- data/test/regression/test_chart_column08.rb +0 -42
- data/test/regression/test_chart_column09.rb +0 -39
- data/test/regression/test_chart_column10.rb +0 -39
- data/test/regression/test_chart_column11.rb +0 -41
- data/test/regression/test_chart_column12.rb +0 -37
- data/test/regression/test_chart_combined01.rb +0 -37
- data/test/regression/test_chart_combined02.rb +0 -43
- data/test/regression/test_chart_combined03.rb +0 -45
- data/test/regression/test_chart_combined04.rb +0 -47
- data/test/regression/test_chart_combined05.rb +0 -49
- data/test/regression/test_chart_combined06.rb +0 -49
- data/test/regression/test_chart_combined07.rb +0 -53
- data/test/regression/test_chart_combined08.rb +0 -65
- data/test/regression/test_chart_combined09.rb +0 -50
- data/test/regression/test_chart_combined10.rb +0 -43
- data/test/regression/test_chart_combined11.rb +0 -63
- data/test/regression/test_chart_crossing01.rb +0 -49
- data/test/regression/test_chart_crossing02.rb +0 -47
- data/test/regression/test_chart_crossing03.rb +0 -52
- data/test/regression/test_chart_crossing04.rb +0 -52
- data/test/regression/test_chart_crossing05.rb +0 -46
- data/test/regression/test_chart_crossing06.rb +0 -46
- data/test/regression/test_chart_data_labels01.rb +0 -47
- data/test/regression/test_chart_data_labels02.rb +0 -47
- data/test/regression/test_chart_data_labels03.rb +0 -47
- data/test/regression/test_chart_data_labels04.rb +0 -47
- data/test/regression/test_chart_data_labels05.rb +0 -50
- data/test/regression/test_chart_data_labels06.rb +0 -50
- data/test/regression/test_chart_data_labels07.rb +0 -40
- data/test/regression/test_chart_data_labels08.rb +0 -46
- data/test/regression/test_chart_data_labels09.rb +0 -47
- data/test/regression/test_chart_data_labels10.rb +0 -47
- data/test/regression/test_chart_data_labels11.rb +0 -37
- data/test/regression/test_chart_data_labels12.rb +0 -37
- data/test/regression/test_chart_data_labels13.rb +0 -37
- data/test/regression/test_chart_data_labels14.rb +0 -37
- data/test/regression/test_chart_data_labels15.rb +0 -37
- data/test/regression/test_chart_data_labels16.rb +0 -40
- data/test/regression/test_chart_data_labels17.rb +0 -63
- data/test/regression/test_chart_data_labels18.rb +0 -53
- data/test/regression/test_chart_data_labels19.rb +0 -53
- data/test/regression/test_chart_data_labels20.rb +0 -44
- data/test/regression/test_chart_data_labels21.rb +0 -48
- data/test/regression/test_chart_data_labels22.rb +0 -47
- data/test/regression/test_chart_data_labels23.rb +0 -50
- data/test/regression/test_chart_data_labels24.rb +0 -50
- data/test/regression/test_chart_data_labels25.rb +0 -61
- data/test/regression/test_chart_data_labels26.rb +0 -44
- data/test/regression/test_chart_data_labels27.rb +0 -44
- data/test/regression/test_chart_data_labels28.rb +0 -52
- data/test/regression/test_chart_data_labels29.rb +0 -43
- data/test/regression/test_chart_data_labels30.rb +0 -46
- data/test/regression/test_chart_data_labels31.rb +0 -49
- data/test/regression/test_chart_data_labels32.rb +0 -54
- data/test/regression/test_chart_data_labels33.rb +0 -52
- data/test/regression/test_chart_data_labels34.rb +0 -54
- data/test/regression/test_chart_data_labels35.rb +0 -46
- data/test/regression/test_chart_data_labels36.rb +0 -54
- data/test/regression/test_chart_data_labels37.rb +0 -51
- data/test/regression/test_chart_data_labels38.rb +0 -54
- data/test/regression/test_chart_data_labels39.rb +0 -53
- data/test/regression/test_chart_data_labels40.rb +0 -53
- data/test/regression/test_chart_data_labels41.rb +0 -54
- data/test/regression/test_chart_data_labels42.rb +0 -58
- data/test/regression/test_chart_data_labels43.rb +0 -58
- data/test/regression/test_chart_data_labels44.rb +0 -56
- data/test/regression/test_chart_data_labels45.rb +0 -57
- data/test/regression/test_chart_data_labels46.rb +0 -61
- data/test/regression/test_chart_data_labels47.rb +0 -61
- data/test/regression/test_chart_data_labels48.rb +0 -55
- data/test/regression/test_chart_data_labels49.rb +0 -55
- data/test/regression/test_chart_data_labels50.rb +0 -57
- data/test/regression/test_chart_date01.rb +0 -53
- data/test/regression/test_chart_date02.rb +0 -59
- data/test/regression/test_chart_date03.rb +0 -59
- data/test/regression/test_chart_date04.rb +0 -61
- data/test/regression/test_chart_date05.rb +0 -57
- data/test/regression/test_chart_display_units01.rb +0 -35
- data/test/regression/test_chart_display_units02.rb +0 -36
- data/test/regression/test_chart_display_units03.rb +0 -36
- data/test/regression/test_chart_display_units04.rb +0 -36
- data/test/regression/test_chart_display_units05.rb +0 -36
- data/test/regression/test_chart_display_units06.rb +0 -36
- data/test/regression/test_chart_display_units07.rb +0 -36
- data/test/regression/test_chart_display_units08.rb +0 -36
- data/test/regression/test_chart_display_units09.rb +0 -36
- data/test/regression/test_chart_display_units10.rb +0 -36
- data/test/regression/test_chart_display_units11.rb +0 -36
- data/test/regression/test_chart_display_units12.rb +0 -41
- data/test/regression/test_chart_doughnut01.rb +0 -39
- data/test/regression/test_chart_doughnut02.rb +0 -38
- data/test/regression/test_chart_doughnut03.rb +0 -38
- data/test/regression/test_chart_doughnut04.rb +0 -38
- data/test/regression/test_chart_doughnut05.rb +0 -38
- data/test/regression/test_chart_doughnut06.rb +0 -34
- data/test/regression/test_chart_doughnut07.rb +0 -37
- data/test/regression/test_chart_drop_lines01.rb +0 -46
- data/test/regression/test_chart_drop_lines02.rb +0 -51
- data/test/regression/test_chart_drop_lines03.rb +0 -46
- data/test/regression/test_chart_drop_lines04.rb +0 -64
- data/test/regression/test_chart_errorbars01.rb +0 -46
- data/test/regression/test_chart_errorbars02.rb +0 -56
- data/test/regression/test_chart_errorbars03.rb +0 -52
- data/test/regression/test_chart_errorbars04.rb +0 -47
- data/test/regression/test_chart_errorbars05.rb +0 -46
- data/test/regression/test_chart_errorbars06.rb +0 -46
- data/test/regression/test_chart_errorbars07.rb +0 -65
- data/test/regression/test_chart_errorbars08.rb +0 -50
- data/test/regression/test_chart_errorbars09.rb +0 -50
- data/test/regression/test_chart_errorbars10.rb +0 -52
- data/test/regression/test_chart_font01.rb +0 -54
- data/test/regression/test_chart_font02.rb +0 -56
- data/test/regression/test_chart_font03.rb +0 -59
- data/test/regression/test_chart_font04.rb +0 -57
- data/test/regression/test_chart_font05.rb +0 -54
- data/test/regression/test_chart_font06.rb +0 -84
- data/test/regression/test_chart_font07.rb +0 -44
- data/test/regression/test_chart_font08.rb +0 -44
- data/test/regression/test_chart_font09.rb +0 -40
- data/test/regression/test_chart_format01.rb +0 -44
- data/test/regression/test_chart_format02.rb +0 -45
- data/test/regression/test_chart_format03.rb +0 -46
- data/test/regression/test_chart_format04.rb +0 -45
- data/test/regression/test_chart_format05.rb +0 -45
- data/test/regression/test_chart_format06.rb +0 -50
- data/test/regression/test_chart_format07.rb +0 -55
- data/test/regression/test_chart_format08.rb +0 -50
- data/test/regression/test_chart_format09.rb +0 -54
- data/test/regression/test_chart_format10.rb +0 -57
- data/test/regression/test_chart_format11.rb +0 -61
- data/test/regression/test_chart_format12.rb +0 -58
- data/test/regression/test_chart_format13.rb +0 -50
- data/test/regression/test_chart_format14.rb +0 -54
- data/test/regression/test_chart_format15.rb +0 -52
- data/test/regression/test_chart_format16.rb +0 -55
- data/test/regression/test_chart_format17.rb +0 -39
- data/test/regression/test_chart_format18.rb +0 -43
- data/test/regression/test_chart_format19.rb +0 -46
- data/test/regression/test_chart_format20.rb +0 -54
- data/test/regression/test_chart_format21.rb +0 -47
- data/test/regression/test_chart_format22.rb +0 -47
- data/test/regression/test_chart_format23.rb +0 -47
- data/test/regression/test_chart_format24.rb +0 -52
- data/test/regression/test_chart_format25.rb +0 -46
- data/test/regression/test_chart_format26.rb +0 -48
- data/test/regression/test_chart_format27.rb +0 -58
- data/test/regression/test_chart_format28.rb +0 -52
- data/test/regression/test_chart_format29.rb +0 -59
- data/test/regression/test_chart_format30.rb +0 -53
- data/test/regression/test_chart_format31.rb +0 -60
- data/test/regression/test_chart_gap01.rb +0 -47
- data/test/regression/test_chart_gap02.rb +0 -47
- data/test/regression/test_chart_gap03.rb +0 -47
- data/test/regression/test_chart_gap04.rb +0 -54
- data/test/regression/test_chart_gap05.rb +0 -56
- data/test/regression/test_chart_gradient01.rb +0 -43
- data/test/regression/test_chart_gradient02.rb +0 -43
- data/test/regression/test_chart_gradient03.rb +0 -46
- data/test/regression/test_chart_gradient04.rb +0 -46
- data/test/regression/test_chart_gradient05.rb +0 -46
- data/test/regression/test_chart_gradient06.rb +0 -46
- data/test/regression/test_chart_gradient07.rb +0 -44
- data/test/regression/test_chart_gradient08.rb +0 -43
- data/test/regression/test_chart_gradient09.rb +0 -43
- data/test/regression/test_chart_gradient10.rb +0 -43
- data/test/regression/test_chart_gradient11.rb +0 -43
- data/test/regression/test_chart_gradient12.rb +0 -46
- data/test/regression/test_chart_gradient13.rb +0 -46
- data/test/regression/test_chart_gridlines01.rb +0 -42
- data/test/regression/test_chart_gridlines02.rb +0 -47
- data/test/regression/test_chart_gridlines03.rb +0 -63
- data/test/regression/test_chart_gridlines04.rb +0 -44
- data/test/regression/test_chart_gridlines05.rb +0 -48
- data/test/regression/test_chart_gridlines06.rb +0 -53
- data/test/regression/test_chart_gridlines07.rb +0 -69
- data/test/regression/test_chart_gridlines08.rb +0 -45
- data/test/regression/test_chart_gridlines09.rb +0 -67
- data/test/regression/test_chart_layout01.rb +0 -48
- data/test/regression/test_chart_layout02.rb +0 -48
- data/test/regression/test_chart_layout03.rb +0 -49
- data/test/regression/test_chart_layout04.rb +0 -47
- data/test/regression/test_chart_layout05.rb +0 -64
- data/test/regression/test_chart_layout06.rb +0 -48
- data/test/regression/test_chart_layout07.rb +0 -48
- data/test/regression/test_chart_layout08.rb +0 -49
- data/test/regression/test_chart_legend01.rb +0 -41
- data/test/regression/test_chart_legend02.rb +0 -41
- data/test/regression/test_chart_legend03.rb +0 -41
- data/test/regression/test_chart_legend04.rb +0 -41
- data/test/regression/test_chart_legend05.rb +0 -41
- data/test/regression/test_chart_legend06.rb +0 -41
- data/test/regression/test_chart_legend07.rb +0 -38
- data/test/regression/test_chart_line01.rb +0 -39
- data/test/regression/test_chart_line02.rb +0 -44
- data/test/regression/test_chart_line03.rb +0 -39
- data/test/regression/test_chart_line04.rb +0 -39
- data/test/regression/test_chart_line05.rb +0 -43
- data/test/regression/test_chart_line06.rb +0 -43
- data/test/regression/test_chart_name01.rb +0 -43
- data/test/regression/test_chart_name02.rb +0 -55
- data/test/regression/test_chart_name03.rb +0 -55
- data/test/regression/test_chart_order01.rb +0 -54
- data/test/regression/test_chart_order02.rb +0 -54
- data/test/regression/test_chart_order03.rb +0 -60
- data/test/regression/test_chart_pattern01.rb +0 -49
- data/test/regression/test_chart_pattern02.rb +0 -106
- data/test/regression/test_chart_pattern03.rb +0 -105
- data/test/regression/test_chart_pattern04.rb +0 -105
- data/test/regression/test_chart_pattern05.rb +0 -105
- data/test/regression/test_chart_pattern06.rb +0 -105
- data/test/regression/test_chart_pattern07.rb +0 -105
- data/test/regression/test_chart_pattern08.rb +0 -105
- data/test/regression/test_chart_pattern09.rb +0 -57
- data/test/regression/test_chart_pattern10.rb +0 -57
- data/test/regression/test_chart_pie01.rb +0 -36
- data/test/regression/test_chart_pie02.rb +0 -38
- data/test/regression/test_chart_pie03.rb +0 -38
- data/test/regression/test_chart_pie04.rb +0 -38
- data/test/regression/test_chart_pie05.rb +0 -38
- data/test/regression/test_chart_points01.rb +0 -37
- data/test/regression/test_chart_points02.rb +0 -40
- data/test/regression/test_chart_points03.rb +0 -42
- data/test/regression/test_chart_points04.rb +0 -52
- data/test/regression/test_chart_points05.rb +0 -49
- data/test/regression/test_chart_points06.rb +0 -49
- data/test/regression/test_chart_radar01.rb +0 -39
- data/test/regression/test_chart_radar02.rb +0 -43
- data/test/regression/test_chart_radar03.rb +0 -43
- data/test/regression/test_chart_scatter01.rb +0 -45
- data/test/regression/test_chart_scatter02.rb +0 -49
- data/test/regression/test_chart_scatter03.rb +0 -49
- data/test/regression/test_chart_scatter04.rb +0 -49
- data/test/regression/test_chart_scatter05.rb +0 -49
- data/test/regression/test_chart_scatter06.rb +0 -51
- data/test/regression/test_chart_scatter07.rb +0 -59
- data/test/regression/test_chart_scatter08.rb +0 -57
- data/test/regression/test_chart_scatter09.rb +0 -59
- data/test/regression/test_chart_scatter10.rb +0 -59
- data/test/regression/test_chart_scatter11.rb +0 -59
- data/test/regression/test_chart_scatter12.rb +0 -51
- data/test/regression/test_chart_scatter13.rb +0 -51
- data/test/regression/test_chart_scatter14.rb +0 -52
- data/test/regression/test_chart_scatter15.rb +0 -44
- data/test/regression/test_chart_size01.rb +0 -41
- data/test/regression/test_chart_size02.rb +0 -41
- data/test/regression/test_chart_size03.rb +0 -42
- data/test/regression/test_chart_size04.rb +0 -41
- data/test/regression/test_chart_size05.rb +0 -39
- data/test/regression/test_chart_sparse01.rb +0 -51
- data/test/regression/test_chart_stock01.rb +0 -65
- data/test/regression/test_chart_stock02.rb +0 -71
- data/test/regression/test_chart_str01.rb +0 -43
- data/test/regression/test_chart_str02.rb +0 -47
- data/test/regression/test_chart_table01.rb +0 -42
- data/test/regression/test_chart_table02.rb +0 -47
- data/test/regression/test_chart_table03.rb +0 -56
- data/test/regression/test_chart_title01.rb +0 -39
- data/test/regression/test_chart_title02.rb +0 -39
- data/test/regression/test_chartsheet01.rb +0 -41
- data/test/regression/test_chartsheet02.rb +0 -48
- data/test/regression/test_chartsheet03.rb +0 -46
- data/test/regression/test_chartsheet04.rb +0 -46
- data/test/regression/test_chartsheet05.rb +0 -46
- data/test/regression/test_chartsheet06.rb +0 -42
- data/test/regression/test_chartsheet07.rb +0 -55
- data/test/regression/test_chartsheet08.rb +0 -59
- data/test/regression/test_chartsheet09.rb +0 -50
- data/test/regression/test_comment01.rb +0 -27
- data/test/regression/test_comment02.rb +0 -28
- data/test/regression/test_comment03.rb +0 -31
- data/test/regression/test_comment04.rb +0 -36
- data/test/regression/test_comment06.rb +0 -33
- data/test/regression/test_comment07.rb +0 -35
- data/test/regression/test_comment08.rb +0 -35
- data/test/regression/test_comment09.rb +0 -31
- data/test/regression/test_comment10.rb +0 -30
- data/test/regression/test_comment11.rb +0 -31
- data/test/regression/test_comment12.rb +0 -30
- data/test/regression/test_comment13.rb +0 -36
- data/test/regression/test_comment14.rb +0 -29
- data/test/regression/test_comment15.rb +0 -28
- data/test/regression/test_comment16.rb +0 -34
- data/test/regression/test_cond_format01.rb +0 -45
- data/test/regression/test_cond_format02.rb +0 -40
- data/test/regression/test_cond_format03.rb +0 -51
- data/test/regression/test_cond_format04.rb +0 -50
- data/test/regression/test_cond_format05.rb +0 -40
- data/test/regression/test_cond_format06.rb +0 -44
- data/test/regression/test_cond_format07.rb +0 -61
- data/test/regression/test_cond_format08.rb +0 -45
- data/test/regression/test_cond_format10.rb +0 -42
- data/test/regression/test_cond_format11.rb +0 -46
- data/test/regression/test_cond_format12.rb +0 -46
- data/test/regression/test_cond_format13.rb +0 -52
- data/test/regression/test_cond_format14.rb +0 -42
- data/test/regression/test_cond_format15.rb +0 -53
- data/test/regression/test_cond_format16.rb +0 -53
- data/test/regression/test_cond_format17.rb +0 -37
- data/test/regression/test_cond_format18.rb +0 -136
- data/test/regression/test_cond_format19.rb +0 -64
- data/test/regression/test_cond_format20.rb +0 -43
- data/test/regression/test_custom_colors01.rb +0 -33
- data/test/regression/test_data_validation01.rb +0 -22
- data/test/regression/test_data_validation02.rb +0 -27
- data/test/regression/test_data_validation03.rb +0 -44
- data/test/regression/test_data_validation04.rb +0 -37
- data/test/regression/test_data_validation05.rb +0 -36
- data/test/regression/test_data_validation08.rb +0 -24
- data/test/regression/test_date_1904_01.rb +0 -31
- data/test/regression/test_date_1904_02.rb +0 -34
- data/test/regression/test_date_examples01.rb +0 -48
- data/test/regression/test_default_format01.rb +0 -22
- data/test/regression/test_default_row01.rb +0 -26
- data/test/regression/test_default_row02.rb +0 -28
- data/test/regression/test_default_row03.rb +0 -28
- data/test/regression/test_default_row04.rb +0 -31
- data/test/regression/test_default_row05.rb +0 -32
- data/test/regression/test_defined_name01.rb +0 -45
- data/test/regression/test_defined_name02.rb +0 -30
- data/test/regression/test_defined_name03.rb +0 -30
- data/test/regression/test_defined_name04.rb +0 -50
- data/test/regression/test_dynamic_array01.rb +0 -25
- data/test/regression/test_escapes01.rb +0 -35
- data/test/regression/test_escapes02.rb +0 -32
- data/test/regression/test_escapes03.rb +0 -33
- data/test/regression/test_escapes04.rb +0 -31
- data/test/regression/test_escapes05.rb +0 -32
- data/test/regression/test_escapes06.rb +0 -26
- data/test/regression/test_escapes07.rb +0 -29
- data/test/regression/test_escapes08.rb +0 -30
- data/test/regression/test_excel2003_style01.rb +0 -21
- data/test/regression/test_excel2003_style02.rb +0 -37
- data/test/regression/test_excel2003_style03.rb +0 -40
- data/test/regression/test_excel2003_style04.rb +0 -24
- data/test/regression/test_excel2003_style05.rb +0 -31
- data/test/regression/test_excel2003_style06.rb +0 -31
- data/test/regression/test_excel2003_style07.rb +0 -31
- data/test/regression/test_excel2003_style08.rb +0 -26
- data/test/regression/test_firstsheet01.rb +0 -43
- data/test/regression/test_fit_to_pages01.rb +0 -35
- data/test/regression/test_fit_to_pages02.rb +0 -35
- data/test/regression/test_fit_to_pages03.rb +0 -35
- data/test/regression/test_fit_to_pages04.rb +0 -35
- data/test/regression/test_fit_to_pages05.rb +0 -35
- data/test/regression/test_format01.rb +0 -35
- data/test/regression/test_format02.rb +0 -47
- data/test/regression/test_format03.rb +0 -31
- data/test/regression/test_format04.rb +0 -41
- data/test/regression/test_format05.rb +0 -26
- data/test/regression/test_format11.rb +0 -28
- data/test/regression/test_format12.rb +0 -41
- data/test/regression/test_format13.rb +0 -31
- data/test/regression/test_format14.rb +0 -26
- data/test/regression/test_format15.rb +0 -26
- data/test/regression/test_format16.rb +0 -24
- data/test/regression/test_format17.rb +0 -24
- data/test/regression/test_formula_results01.rb +0 -37
- data/test/regression/test_gridlines01.rb +0 -34
- data/test/regression/test_header01.rb +0 -28
- data/test/regression/test_header02.rb +0 -28
- data/test/regression/test_header03.rb +0 -31
- data/test/regression/test_header04.rb +0 -30
- data/test/regression/test_header_image01.rb +0 -26
- data/test/regression/test_header_image02.rb +0 -33
- data/test/regression/test_header_image03.rb +0 -34
- data/test/regression/test_header_image04.rb +0 -34
- data/test/regression/test_header_image05.rb +0 -28
- data/test/regression/test_header_image06.rb +0 -32
- data/test/regression/test_header_image07.rb +0 -29
- data/test/regression/test_header_image08.rb +0 -33
- data/test/regression/test_header_image09.rb +0 -32
- data/test/regression/test_header_image10.rb +0 -36
- data/test/regression/test_header_image11.rb +0 -28
- data/test/regression/test_header_image12.rb +0 -28
- data/test/regression/test_header_image13.rb +0 -36
- data/test/regression/test_header_image14.rb +0 -36
- data/test/regression/test_header_image15.rb +0 -36
- data/test/regression/test_header_image16.rb +0 -42
- data/test/regression/test_header_image17.rb +0 -46
- data/test/regression/test_header_image18.rb +0 -48
- data/test/regression/test_header_image19.rb +0 -36
- data/test/regression/test_hide01.rb +0 -25
- data/test/regression/test_hyperlink01.rb +0 -26
- data/test/regression/test_hyperlink02.rb +0 -30
- data/test/regression/test_hyperlink03.rb +0 -36
- data/test/regression/test_hyperlink04.rb +0 -34
- data/test/regression/test_hyperlink05.rb +0 -29
- data/test/regression/test_hyperlink06.rb +0 -28
- data/test/regression/test_hyperlink07.rb +0 -23
- data/test/regression/test_hyperlink08.rb +0 -27
- data/test/regression/test_hyperlink09.rb +0 -28
- data/test/regression/test_hyperlink10.rb +0 -27
- data/test/regression/test_hyperlink11.rb +0 -27
- data/test/regression/test_hyperlink12.rb +0 -28
- data/test/regression/test_hyperlink13.rb +0 -27
- data/test/regression/test_hyperlink14.rb +0 -27
- data/test/regression/test_hyperlink15.rb +0 -29
- data/test/regression/test_hyperlink16.rb +0 -29
- data/test/regression/test_hyperlink17.rb +0 -30
- data/test/regression/test_hyperlink18.rb +0 -30
- data/test/regression/test_hyperlink20.rb +0 -32
- data/test/regression/test_hyperlink21.rb +0 -27
- data/test/regression/test_hyperlink22.rb +0 -27
- data/test/regression/test_hyperlink23.rb +0 -27
- data/test/regression/test_hyperlink24.rb +0 -27
- data/test/regression/test_hyperlink25.rb +0 -30
- data/test/regression/test_hyperlink26.rb +0 -30
- data/test/regression/test_hyperlink27.rb +0 -27
- data/test/regression/test_hyperlink28.rb +0 -50
- data/test/regression/test_hyperlink29.rb +0 -27
- data/test/regression/test_hyperlink30.rb +0 -36
- data/test/regression/test_hyperlink32.rb +0 -27
- data/test/regression/test_hyperlink33.rb +0 -28
- data/test/regression/test_hyperlink34.rb +0 -33
- data/test/regression/test_hyperlink35.rb +0 -39
- data/test/regression/test_hyperlink36.rb +0 -34
- data/test/regression/test_hyperlink37.rb +0 -33
- data/test/regression/test_hyperlink38.rb +0 -27
- data/test/regression/test_hyperlink39.rb +0 -27
- data/test/regression/test_hyperlink40.rb +0 -27
- data/test/regression/test_hyperlink41.rb +0 -27
- data/test/regression/test_hyperlink42.rb +0 -27
- data/test/regression/test_hyperlink43.rb +0 -27
- data/test/regression/test_hyperlink44.rb +0 -27
- data/test/regression/test_hyperlink45.rb +0 -27
- data/test/regression/test_hyperlink47.rb +0 -27
- data/test/regression/test_hyperlink48.rb +0 -31
- data/test/regression/test_hyperlink49.rb +0 -29
- data/test/regression/test_hyperlink50.rb +0 -27
- data/test/regression/test_hyperlink51.rb +0 -27
- data/test/regression/test_ignore_error01.rb +0 -23
- data/test/regression/test_ignore_error02.rb +0 -24
- data/test/regression/test_ignore_error03.rb +0 -26
- data/test/regression/test_ignore_error04.rb +0 -26
- data/test/regression/test_ignore_error05.rb +0 -32
- data/test/regression/test_ignore_error06.rb +0 -32
- data/test/regression/test_image01.rb +0 -23
- data/test/regression/test_image02.rb +0 -23
- data/test/regression/test_image03.rb +0 -23
- data/test/regression/test_image04.rb +0 -23
- data/test/regression/test_image05.rb +0 -26
- data/test/regression/test_image06.rb +0 -36
- data/test/regression/test_image07.rb +0 -25
- data/test/regression/test_image08.rb +0 -27
- data/test/regression/test_image09.rb +0 -24
- data/test/regression/test_image10.rb +0 -24
- data/test/regression/test_image11.rb +0 -24
- data/test/regression/test_image12.rb +0 -27
- data/test/regression/test_image13.rb +0 -27
- data/test/regression/test_image14.rb +0 -29
- data/test/regression/test_image15.rb +0 -31
- data/test/regression/test_image16.rb +0 -24
- data/test/regression/test_image17.rb +0 -23
- data/test/regression/test_image18.rb +0 -27
- data/test/regression/test_image19.rb +0 -24
- data/test/regression/test_image22.rb +0 -24
- data/test/regression/test_image23.rb +0 -30
- data/test/regression/test_image24.rb +0 -24
- data/test/regression/test_image25.rb +0 -24
- data/test/regression/test_image26.rb +0 -30
- data/test/regression/test_image27.rb +0 -24
- data/test/regression/test_image28.rb +0 -27
- data/test/regression/test_image29.rb +0 -27
- data/test/regression/test_image30.rb +0 -27
- data/test/regression/test_image31.rb +0 -30
- data/test/regression/test_image32.rb +0 -28
- data/test/regression/test_image33.rb +0 -32
- data/test/regression/test_image35.rb +0 -26
- data/test/regression/test_image36.rb +0 -26
- data/test/regression/test_image44.rb +0 -28
- data/test/regression/test_image45.rb +0 -29
- data/test/regression/test_image46.rb +0 -29
- data/test/regression/test_image47.rb +0 -28
- data/test/regression/test_image48.rb +0 -32
- data/test/regression/test_image49.rb +0 -38
- data/test/regression/test_image50.rb +0 -24
- data/test/regression/test_image51.rb +0 -30
- data/test/regression/test_image52.rb +0 -26
- data/test/regression/test_image53.rb +0 -26
- data/test/regression/test_image54.rb +0 -26
- data/test/regression/test_image55.rb +0 -27
- data/test/regression/test_image56.rb +0 -23
- data/test/regression/test_image57.rb +0 -23
- data/test/regression/test_landscape01.rb +0 -27
- data/test/regression/test_macro01.rb +0 -29
- data/test/regression/test_merge_cells01.rb +0 -25
- data/test/regression/test_merge_range01.rb +0 -24
- data/test/regression/test_merge_range02.rb +0 -24
- data/test/regression/test_merge_range03.rb +0 -26
- data/test/regression/test_merge_range04.rb +0 -24
- data/test/regression/test_merge_range05.rb +0 -24
- data/test/regression/test_object_position01.rb +0 -26
- data/test/regression/test_object_position02.rb +0 -26
- data/test/regression/test_object_position03.rb +0 -26
- data/test/regression/test_object_position04.rb +0 -44
- data/test/regression/test_object_position06.rb +0 -28
- data/test/regression/test_object_position07.rb +0 -28
- data/test/regression/test_object_position08.rb +0 -47
- data/test/regression/test_object_position09.rb +0 -50
- data/test/regression/test_object_position10.rb +0 -28
- data/test/regression/test_object_position12.rb +0 -25
- data/test/regression/test_object_position13.rb +0 -25
- data/test/regression/test_object_position14.rb +0 -25
- data/test/regression/test_object_position15.rb +0 -29
- data/test/regression/test_object_position16.rb +0 -29
- data/test/regression/test_object_position17.rb +0 -29
- data/test/regression/test_object_position18.rb +0 -29
- data/test/regression/test_object_position19.rb +0 -29
- data/test/regression/test_object_position20.rb +0 -29
- data/test/regression/test_outline01.rb +0 -84
- data/test/regression/test_outline02.rb +0 -87
- data/test/regression/test_outline03.rb +0 -57
- data/test/regression/test_outline04.rb +0 -53
- data/test/regression/test_outline05.rb +0 -88
- data/test/regression/test_outline06.rb +0 -87
- data/test/regression/test_page_breaks01.rb +0 -34
- data/test/regression/test_page_breaks02.rb +0 -34
- data/test/regression/test_page_breaks03.rb +0 -34
- data/test/regression/test_page_breaks04.rb +0 -34
- data/test/regression/test_page_breaks05.rb +0 -34
- data/test/regression/test_page_breaks06.rb +0 -35
- data/test/regression/test_page_view01.rb +0 -34
- data/test/regression/test_panes01.rb +0 -61
- data/test/regression/test_print_across01.rb +0 -35
- data/test/regression/test_print_area01.rb +0 -34
- data/test/regression/test_print_area02.rb +0 -34
- data/test/regression/test_print_area03.rb +0 -34
- data/test/regression/test_print_area04.rb +0 -34
- data/test/regression/test_print_area05.rb +0 -34
- data/test/regression/test_print_area06.rb +0 -34
- data/test/regression/test_print_area07.rb +0 -35
- data/test/regression/test_print_options01.rb +0 -34
- data/test/regression/test_print_options02.rb +0 -34
- data/test/regression/test_print_options03.rb +0 -34
- data/test/regression/test_print_options04.rb +0 -34
- data/test/regression/test_print_options05.rb +0 -37
- data/test/regression/test_print_options06.rb +0 -35
- data/test/regression/test_print_options07.rb +0 -31
- data/test/regression/test_print_scale01.rb +0 -35
- data/test/regression/test_print_scale02.rb +0 -35
- data/test/regression/test_properties01.rb +0 -36
- data/test/regression/test_properties02.rb +0 -25
- data/test/regression/test_properties03.rb +0 -26
- data/test/regression/test_properties04.rb +0 -61
- data/test/regression/test_properties05.rb +0 -30
- data/test/regression/test_protect01.rb +0 -28
- data/test/regression/test_protect02.rb +0 -30
- data/test/regression/test_protect03.rb +0 -30
- data/test/regression/test_protect04.rb +0 -32
- data/test/regression/test_protect05.rb +0 -35
- data/test/regression/test_protect06.rb +0 -35
- data/test/regression/test_protect07.rb +0 -23
- data/test/regression/test_quote_name01.rb +0 -48
- data/test/regression/test_quote_name03.rb +0 -41
- data/test/regression/test_quote_name04.rb +0 -40
- data/test/regression/test_repeat01.rb +0 -34
- data/test/regression/test_repeat02.rb +0 -34
- data/test/regression/test_repeat03.rb +0 -35
- data/test/regression/test_repeat04.rb +0 -34
- data/test/regression/test_repeat05.rb +0 -41
- data/test/regression/test_rich_string01.rb +0 -28
- data/test/regression/test_rich_string02.rb +0 -28
- data/test/regression/test_rich_string03.rb +0 -28
- data/test/regression/test_rich_string04.rb +0 -28
- data/test/regression/test_rich_string05.rb +0 -30
- data/test/regression/test_rich_string06.rb +0 -27
- data/test/regression/test_rich_string07.rb +0 -33
- data/test/regression/test_rich_string08.rb +0 -29
- data/test/regression/test_rich_string09.rb +0 -31
- data/test/regression/test_rich_string10.rb +0 -30
- data/test/regression/test_rich_string11.rb +0 -29
- data/test/regression/test_rich_string12.rb +0 -32
- data/test/regression/test_row_col_format01.rb +0 -24
- data/test/regression/test_row_col_format02.rb +0 -25
- data/test/regression/test_row_col_format03.rb +0 -24
- data/test/regression/test_row_col_format04.rb +0 -25
- data/test/regression/test_row_col_format05.rb +0 -26
- data/test/regression/test_row_col_format06.rb +0 -29
- data/test/regression/test_row_col_format07.rb +0 -24
- data/test/regression/test_row_col_format08.rb +0 -34
- data/test/regression/test_row_col_format09.rb +0 -33
- data/test/regression/test_row_col_format10.rb +0 -24
- data/test/regression/test_row_col_format11.rb +0 -23
- data/test/regression/test_row_col_format12.rb +0 -23
- data/test/regression/test_row_col_format13.rb +0 -28
- data/test/regression/test_row_col_format14.rb +0 -28
- data/test/regression/test_selection01.rb +0 -23
- data/test/regression/test_selection02.rb +0 -33
- data/test/regression/test_set_column01.rb +0 -63
- data/test/regression/test_set_column02.rb +0 -64
- data/test/regression/test_set_column03.rb +0 -34
- data/test/regression/test_set_column04.rb +0 -42
- data/test/regression/test_set_column05.rb +0 -52
- data/test/regression/test_set_column06.rb +0 -49
- data/test/regression/test_set_column07.rb +0 -45
- data/test/regression/test_set_column08.rb +0 -42
- data/test/regression/test_set_column09.rb +0 -31
- data/test/regression/test_set_column10.rb +0 -55
- data/test/regression/test_set_column11.rb +0 -48
- data/test/regression/test_set_print_scale01.rb +0 -36
- data/test/regression/test_set_row01.rb +0 -35
- data/test/regression/test_set_row02.rb +0 -35
- data/test/regression/test_set_row03.rb +0 -35
- data/test/regression/test_set_row04.rb +0 -35
- data/test/regression/test_set_start_page01.rb +0 -33
- data/test/regression/test_set_start_page02.rb +0 -33
- data/test/regression/test_set_start_page03.rb +0 -33
- data/test/regression/test_shape01.rb +0 -25
- data/test/regression/test_shape02.rb +0 -42
- data/test/regression/test_shape03.rb +0 -45
- data/test/regression/test_shape04.rb +0 -43
- data/test/regression/test_shape_connect01.rb +0 -48
- data/test/regression/test_shape_connect02.rb +0 -42
- data/test/regression/test_shape_connect03.rb +0 -78
- data/test/regression/test_shape_connect04.rb +0 -75
- data/test/regression/test_shape_scale01.rb +0 -45
- data/test/regression/test_shape_stencil01.rb +0 -39
- data/test/regression/test_shared_strings01.rb +0 -32
- data/test/regression/test_shared_strings02.rb +0 -45
- data/test/regression/test_shared_strings_encoding.rb +0 -0
- data/test/regression/test_simple01.rb +0 -24
- data/test/regression/test_simple02.rb +0 -32
- data/test/regression/test_simple03.rb +0 -39
- data/test/regression/test_simple04.rb +0 -29
- data/test/regression/test_simple05.rb +0 -40
- data/test/regression/test_tab_color01.rb +0 -20
- data/test/regression/test_table01.rb +0 -27
- data/test/regression/test_table02.rb +0 -37
- data/test/regression/test_table03.rb +0 -33
- data/test/regression/test_table04.rb +0 -37
- data/test/regression/test_table05.rb +0 -41
- data/test/regression/test_table06.rb +0 -44
- data/test/regression/test_table07.rb +0 -29
- data/test/regression/test_table08.rb +0 -48
- data/test/regression/test_table09.rb +0 -65
- data/test/regression/test_table10.rb +0 -68
- data/test/regression/test_table11.rb +0 -37
- data/test/regression/test_table12.rb +0 -36
- data/test/regression/test_table13.rb +0 -51
- data/test/regression/test_table14.rb +0 -51
- data/test/regression/test_table15.rb +0 -37
- data/test/regression/test_table16.rb +0 -37
- data/test/regression/test_table17.rb +0 -70
- data/test/regression/test_table20.rb +0 -34
- data/test/regression/test_table21.rb +0 -36
- data/test/regression/test_table22.rb +0 -32
- data/test/regression/test_table23.rb +0 -56
- data/test/regression/test_table24.rb +0 -27
- data/test/regression/test_table25.rb +0 -27
- data/test/regression/test_table26.rb +0 -38
- data/test/regression/test_tutorial01.rb +0 -38
- data/test/regression/test_tutorial02.rb +0 -44
- data/test/regression/test_tutorial03.rb +0 -49
- data/test/regression/test_types02.rb +0 -25
- data/test/regression/test_types08.rb +0 -31
- data/test/regression/test_update_range_format_with_params.rb +0 -42
- data/test/regression/test_urls_as_strings.rb +0 -25
- data/test/regression/test_utf8_01.rb +0 -23
- data/test/regression/test_utf8_03.rb +0 -23
- data/test/regression/test_utf8_04.rb +0 -23
- data/test/regression/test_utf8_05.rb +0 -26
- data/test/regression/test_utf8_06.rb +0 -28
- data/test/regression/test_utf8_07.rb +0 -27
- data/test/regression/test_utf8_08.rb +0 -38
- data/test/regression/test_utf8_09.rb +0 -20
- data/test/regression/test_utf8_10.rb +0 -42
- data/test/regression/test_utf8_11.rb +0 -23
- data/test/regression/test_vml01.rb +0 -29
- data/test/regression/test_vml02.rb +0 -31
- data/test/regression/test_vml03.rb +0 -40
- data/test/regression/xlsx_files/array_formula01.xlsx +0 -0
- data/test/regression/xlsx_files/array_formula02.xlsx +0 -0
- data/test/regression/xlsx_files/array_formula03.xlsx +0 -0
- data/test/regression/xlsx_files/array_formula04.xlsx +0 -0
- data/test/regression/xlsx_files/autofilter00.xlsx +0 -0
- data/test/regression/xlsx_files/autofilter01.xlsx +0 -0
- data/test/regression/xlsx_files/autofilter02.xlsx +0 -0
- data/test/regression/xlsx_files/autofilter03.xlsx +0 -0
- data/test/regression/xlsx_files/autofilter04.xlsx +0 -0
- data/test/regression/xlsx_files/autofilter05.xlsx +0 -0
- data/test/regression/xlsx_files/autofilter06.xlsx +0 -0
- data/test/regression/xlsx_files/autofilter07.xlsx +0 -0
- data/test/regression/xlsx_files/autofilter08.xlsx +0 -0
- data/test/regression/xlsx_files/autofilter09.xlsx +0 -0
- data/test/regression/xlsx_files/autofilter10.xlsx +0 -0
- data/test/regression/xlsx_files/background01.xlsx +0 -0
- data/test/regression/xlsx_files/background02.xlsx +0 -0
- data/test/regression/xlsx_files/background03.xlsx +0 -0
- data/test/regression/xlsx_files/background04.xlsx +0 -0
- data/test/regression/xlsx_files/background05.xlsx +0 -0
- data/test/regression/xlsx_files/background06.xlsx +0 -0
- data/test/regression/xlsx_files/background07.xlsx +0 -0
- data/test/regression/xlsx_files/button01.xlsx +0 -0
- data/test/regression/xlsx_files/button02.xlsx +0 -0
- data/test/regression/xlsx_files/button03.xlsx +0 -0
- data/test/regression/xlsx_files/button04.xlsx +0 -0
- data/test/regression/xlsx_files/button05.xlsx +0 -0
- data/test/regression/xlsx_files/button07.xlsm +0 -0
- data/test/regression/xlsx_files/button08.xlsx +0 -0
- data/test/regression/xlsx_files/button09.xlsx +0 -0
- data/test/regression/xlsx_files/button10.xlsx +0 -0
- data/test/regression/xlsx_files/button11.xlsx +0 -0
- data/test/regression/xlsx_files/button12.xlsx +0 -0
- data/test/regression/xlsx_files/chart_area01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_area02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_area03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_area04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis06.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis07.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis08.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis09.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis10.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis11.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis12.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis13.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis14.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis15.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis16.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis17.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis18.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis19.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis20.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis21.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis22.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis23.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis24.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis25.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis26.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis27.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis28.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis29.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis30.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis31.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis32.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis33.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis34.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis35.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis36.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis37.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis38.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis39.xlsx +0 -0
- 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_axis42.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis43.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis44.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis45.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis46.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis47.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis48.xlsx +0 -0
- data/test/regression/xlsx_files/chart_bar01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_bar02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_bar03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_bar04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_bar05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_bar06.xlsx +0 -0
- data/test/regression/xlsx_files/chart_bar07.xlsx +0 -0
- data/test/regression/xlsx_files/chart_bar08.xlsx +0 -0
- data/test/regression/xlsx_files/chart_bar09.xlsx +0 -0
- data/test/regression/xlsx_files/chart_bar10.xlsx +0 -0
- data/test/regression/xlsx_files/chart_bar11.xlsx +0 -0
- data/test/regression/xlsx_files/chart_bar12.xlsx +0 -0
- data/test/regression/xlsx_files/chart_bar13.xlsx +0 -0
- data/test/regression/xlsx_files/chart_bar14.xlsx +0 -0
- data/test/regression/xlsx_files/chart_bar15.xlsx +0 -0
- data/test/regression/xlsx_files/chart_bar16.xlsx +0 -0
- data/test/regression/xlsx_files/chart_bar17.xlsx +0 -0
- data/test/regression/xlsx_files/chart_bar18.xlsx +0 -0
- data/test/regression/xlsx_files/chart_bar19.xlsx +0 -0
- data/test/regression/xlsx_files/chart_bar20.xlsx +0 -0
- data/test/regression/xlsx_files/chart_bar21.xlsx +0 -0
- data/test/regression/xlsx_files/chart_bar22.xlsx +0 -0
- data/test/regression/xlsx_files/chart_bar23.xlsx +0 -0
- data/test/regression/xlsx_files/chart_bar24.xlsx +0 -0
- data/test/regression/xlsx_files/chart_blank01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_blank02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_blank03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_blank04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_blank05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_blank06.xlsx +0 -0
- data/test/regression/xlsx_files/chart_chartarea01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_chartarea03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_chartarea04.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_clustered01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_column01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_column02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_column03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_column04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_column05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_column06.xlsx +0 -0
- data/test/regression/xlsx_files/chart_column07.xlsx +0 -0
- data/test/regression/xlsx_files/chart_column08.xlsx +0 -0
- data/test/regression/xlsx_files/chart_column09.xlsx +0 -0
- data/test/regression/xlsx_files/chart_column10.xlsx +0 -0
- data/test/regression/xlsx_files/chart_column11.xlsx +0 -0
- data/test/regression/xlsx_files/chart_column12.xlsx +0 -0
- data/test/regression/xlsx_files/chart_combined01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_combined02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_combined03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_combined04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_combined05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_combined06.xlsx +0 -0
- data/test/regression/xlsx_files/chart_combined07.xlsx +0 -0
- data/test/regression/xlsx_files/chart_combined08.xlsx +0 -0
- data/test/regression/xlsx_files/chart_combined09.xlsx +0 -0
- data/test/regression/xlsx_files/chart_combined10.xlsx +0 -0
- data/test/regression/xlsx_files/chart_combined11.xlsx +0 -0
- data/test/regression/xlsx_files/chart_crossing01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_crossing02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_crossing03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_crossing04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_crossing05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_crossing06.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels06.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels07.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels08.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels09.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels10.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels11.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels12.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels13.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels14.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels15.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels16.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels17.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels18.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels19.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels20.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels21.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels22.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels23.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels24.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels25.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels26.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels27.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels28.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels29.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels30.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels31.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels32.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels33.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels34.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels35.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels36.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels37.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels38.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels39.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels40.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels41.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels42.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels43.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels44.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels45.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels46.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels47.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels48.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels49.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels50.xlsx +0 -0
- data/test/regression/xlsx_files/chart_date01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_date02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_date03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_date04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_date05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_display_units01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_display_units02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_display_units03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_display_units04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_display_units05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_display_units06.xlsx +0 -0
- data/test/regression/xlsx_files/chart_display_units07.xlsx +0 -0
- data/test/regression/xlsx_files/chart_display_units08.xlsx +0 -0
- data/test/regression/xlsx_files/chart_display_units09.xlsx +0 -0
- data/test/regression/xlsx_files/chart_display_units10.xlsx +0 -0
- data/test/regression/xlsx_files/chart_display_units11.xlsx +0 -0
- data/test/regression/xlsx_files/chart_display_units12.xlsx +0 -0
- data/test/regression/xlsx_files/chart_doughnut01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_doughnut02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_doughnut03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_doughnut04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_doughnut05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_doughnut06.xlsx +0 -0
- data/test/regression/xlsx_files/chart_doughnut07.xlsx +0 -0
- data/test/regression/xlsx_files/chart_drop_lines01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_drop_lines02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_drop_lines03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_drop_lines04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_errorbars01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_errorbars02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_errorbars03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_errorbars04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_errorbars05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_errorbars06.xlsx +0 -0
- data/test/regression/xlsx_files/chart_errorbars07.xlsx +0 -0
- data/test/regression/xlsx_files/chart_errorbars08.xlsx +0 -0
- data/test/regression/xlsx_files/chart_errorbars09.xlsx +0 -0
- data/test/regression/xlsx_files/chart_errorbars10.xlsx +0 -0
- data/test/regression/xlsx_files/chart_font01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_font02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_font03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_font04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_font05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_font06.xlsx +0 -0
- data/test/regression/xlsx_files/chart_font07.xlsx +0 -0
- data/test/regression/xlsx_files/chart_font08.xlsx +0 -0
- data/test/regression/xlsx_files/chart_font09.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format06.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format07.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format08.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format09.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format10.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format11.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format12.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format13.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format14.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format15.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format16.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format17.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format18.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format19.xlsx +0 -0
- data/test/regression/xlsx_files/chart_format20.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_gap01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_gap02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_gap03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_gap04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_gap05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_gradient01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_gradient02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_gradient03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_gradient04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_gradient05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_gradient06.xlsx +0 -0
- data/test/regression/xlsx_files/chart_gradient07.xlsx +0 -0
- data/test/regression/xlsx_files/chart_gradient08.xlsx +0 -0
- data/test/regression/xlsx_files/chart_gradient09.xlsx +0 -0
- data/test/regression/xlsx_files/chart_gradient10.xlsx +0 -0
- data/test/regression/xlsx_files/chart_gradient11.xlsx +0 -0
- data/test/regression/xlsx_files/chart_gradient12.xlsx +0 -0
- data/test/regression/xlsx_files/chart_gradient13.xlsx +0 -0
- data/test/regression/xlsx_files/chart_gridlines01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_gridlines02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_gridlines03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_gridlines04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_gridlines05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_gridlines06.xlsx +0 -0
- data/test/regression/xlsx_files/chart_gridlines07.xlsx +0 -0
- data/test/regression/xlsx_files/chart_gridlines08.xlsx +0 -0
- data/test/regression/xlsx_files/chart_gridlines09.xlsx +0 -0
- data/test/regression/xlsx_files/chart_layout01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_layout02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_layout03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_layout04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_layout05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_layout06.xlsx +0 -0
- data/test/regression/xlsx_files/chart_layout07.xlsx +0 -0
- data/test/regression/xlsx_files/chart_layout08.xlsx +0 -0
- data/test/regression/xlsx_files/chart_legend01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_legend03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_legend04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_legend05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_legend06.xlsx +0 -0
- data/test/regression/xlsx_files/chart_legend07.xlsx +0 -0
- data/test/regression/xlsx_files/chart_line01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_line02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_line03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_line04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_line05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_line06.xlsx +0 -0
- data/test/regression/xlsx_files/chart_name01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_name02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_name03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_order01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_order03.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_pie01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_pie02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_pie03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_pie04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_pie05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_points01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_points02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_points03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_points04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_points05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_points06.xlsx +0 -0
- data/test/regression/xlsx_files/chart_radar01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_radar02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_radar03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_scatter01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_scatter02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_scatter03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_scatter04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_scatter05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_scatter06.xlsx +0 -0
- data/test/regression/xlsx_files/chart_scatter07.xlsx +0 -0
- data/test/regression/xlsx_files/chart_scatter08.xlsx +0 -0
- data/test/regression/xlsx_files/chart_scatter09.xlsx +0 -0
- data/test/regression/xlsx_files/chart_scatter10.xlsx +0 -0
- data/test/regression/xlsx_files/chart_scatter11.xlsx +0 -0
- data/test/regression/xlsx_files/chart_scatter12.xlsx +0 -0
- data/test/regression/xlsx_files/chart_scatter14.xlsx +0 -0
- data/test/regression/xlsx_files/chart_scatter15.xlsx +0 -0
- data/test/regression/xlsx_files/chart_size01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_size04.xlsx +0 -0
- data/test/regression/xlsx_files/chart_sparse01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_stock01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_stock02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_str01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_str02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_table01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_table02.xlsx +0 -0
- data/test/regression/xlsx_files/chart_table03.xlsx +0 -0
- data/test/regression/xlsx_files/chart_title01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_title02.xlsx +0 -0
- data/test/regression/xlsx_files/chartsheet01.xlsx +0 -0
- data/test/regression/xlsx_files/chartsheet02.xlsx +0 -0
- data/test/regression/xlsx_files/chartsheet03.xlsx +0 -0
- data/test/regression/xlsx_files/chartsheet04.xlsx +0 -0
- data/test/regression/xlsx_files/chartsheet05.xlsx +0 -0
- data/test/regression/xlsx_files/chartsheet06.xlsx +0 -0
- data/test/regression/xlsx_files/chartsheet07.xlsx +0 -0
- data/test/regression/xlsx_files/chartsheet08.xlsx +0 -0
- data/test/regression/xlsx_files/chartsheet09.xlsx +0 -0
- data/test/regression/xlsx_files/comment01.xlsx +0 -0
- data/test/regression/xlsx_files/comment02.xlsx +0 -0
- data/test/regression/xlsx_files/comment03.xlsx +0 -0
- data/test/regression/xlsx_files/comment04.xlsx +0 -0
- data/test/regression/xlsx_files/comment05.xlsx +0 -0
- data/test/regression/xlsx_files/comment06.xlsx +0 -0
- data/test/regression/xlsx_files/comment07.xlsx +0 -0
- data/test/regression/xlsx_files/comment08.xlsx +0 -0
- data/test/regression/xlsx_files/comment09.xlsx +0 -0
- data/test/regression/xlsx_files/comment10.xlsx +0 -0
- data/test/regression/xlsx_files/comment11.xlsx +0 -0
- data/test/regression/xlsx_files/comment12.xlsx +0 -0
- data/test/regression/xlsx_files/comment13.xlsx +0 -0
- data/test/regression/xlsx_files/comment14.xlsx +0 -0
- data/test/regression/xlsx_files/comment15.xlsx +0 -0
- data/test/regression/xlsx_files/comment16.xlsx +0 -0
- data/test/regression/xlsx_files/cond_format01.xlsx +0 -0
- data/test/regression/xlsx_files/cond_format02.xlsx +0 -0
- data/test/regression/xlsx_files/cond_format03.xlsx +0 -0
- data/test/regression/xlsx_files/cond_format04.xlsx +0 -0
- data/test/regression/xlsx_files/cond_format05.xlsx +0 -0
- data/test/regression/xlsx_files/cond_format06.xlsx +0 -0
- data/test/regression/xlsx_files/cond_format07.xlsx +0 -0
- data/test/regression/xlsx_files/cond_format08.xlsx +0 -0
- data/test/regression/xlsx_files/cond_format10.xlsx +0 -0
- data/test/regression/xlsx_files/cond_format11.xlsx +0 -0
- data/test/regression/xlsx_files/cond_format12.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/cond_format19.xlsx +0 -0
- data/test/regression/xlsx_files/cond_format20.xlsx +0 -0
- data/test/regression/xlsx_files/custom_colors01.xlsx +0 -0
- data/test/regression/xlsx_files/data_validation01.xlsx +0 -0
- data/test/regression/xlsx_files/data_validation02.xlsx +0 -0
- data/test/regression/xlsx_files/data_validation03.xlsx +0 -0
- data/test/regression/xlsx_files/data_validation08.xlsx +0 -0
- data/test/regression/xlsx_files/date_1904_01.xlsx +0 -0
- data/test/regression/xlsx_files/date_1904_02.xlsx +0 -0
- data/test/regression/xlsx_files/date_examples01.xlsx +0 -0
- data/test/regression/xlsx_files/default_format01.xlsx +0 -0
- data/test/regression/xlsx_files/default_row01.xlsx +0 -0
- data/test/regression/xlsx_files/default_row02.xlsx +0 -0
- data/test/regression/xlsx_files/default_row03.xlsx +0 -0
- data/test/regression/xlsx_files/default_row04.xlsx +0 -0
- data/test/regression/xlsx_files/default_row05.xlsx +0 -0
- data/test/regression/xlsx_files/defined_name01.xlsx +0 -0
- data/test/regression/xlsx_files/defined_name02.xlsx +0 -0
- data/test/regression/xlsx_files/defined_name03.xlsx +0 -0
- data/test/regression/xlsx_files/defined_name04.xlsx +0 -0
- data/test/regression/xlsx_files/dynamic_array01.xlsx +0 -0
- data/test/regression/xlsx_files/escapes01.xlsx +0 -0
- data/test/regression/xlsx_files/escapes02.xlsx +0 -0
- data/test/regression/xlsx_files/escapes03.xlsx +0 -0
- data/test/regression/xlsx_files/escapes04.xlsx +0 -0
- data/test/regression/xlsx_files/escapes05.xlsx +0 -0
- data/test/regression/xlsx_files/escapes06.xlsx +0 -0
- data/test/regression/xlsx_files/escapes07.xlsx +0 -0
- data/test/regression/xlsx_files/escapes08.xlsx +0 -0
- data/test/regression/xlsx_files/excel2003_style01.xlsx +0 -0
- data/test/regression/xlsx_files/excel2003_style02.xlsx +0 -0
- data/test/regression/xlsx_files/excel2003_style03.xlsx +0 -0
- data/test/regression/xlsx_files/excel2003_style04.xlsx +0 -0
- data/test/regression/xlsx_files/excel2003_style05.xlsx +0 -0
- data/test/regression/xlsx_files/excel2003_style06.xlsx +0 -0
- data/test/regression/xlsx_files/excel2003_style07.xlsx +0 -0
- data/test/regression/xlsx_files/excel2003_style08.xlsx +0 -0
- data/test/regression/xlsx_files/filehandle01.xlsx +0 -0
- data/test/regression/xlsx_files/firstsheet01.xlsx +0 -0
- data/test/regression/xlsx_files/fit_to_pages01.xlsx +0 -0
- data/test/regression/xlsx_files/fit_to_pages02.xlsx +0 -0
- data/test/regression/xlsx_files/fit_to_pages03.xlsx +0 -0
- data/test/regression/xlsx_files/fit_to_pages04.xlsx +0 -0
- data/test/regression/xlsx_files/fit_to_pages05.xlsx +0 -0
- data/test/regression/xlsx_files/format01.xlsx +0 -0
- data/test/regression/xlsx_files/format02.xlsx +0 -0
- data/test/regression/xlsx_files/format03.xlsx +0 -0
- data/test/regression/xlsx_files/format04.xlsx +0 -0
- data/test/regression/xlsx_files/format05.xlsx +0 -0
- data/test/regression/xlsx_files/format11.xlsx +0 -0
- data/test/regression/xlsx_files/format12.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/format15.xlsx +0 -0
- data/test/regression/xlsx_files/format16.xlsx +0 -0
- data/test/regression/xlsx_files/format17.xlsx +0 -0
- data/test/regression/xlsx_files/formula_results01.xlsx +0 -0
- data/test/regression/xlsx_files/gridlines01.xlsx +0 -0
- data/test/regression/xlsx_files/header01.xlsx +0 -0
- data/test/regression/xlsx_files/header02.xlsx +0 -0
- data/test/regression/xlsx_files/header03.xlsx +0 -0
- data/test/regression/xlsx_files/header04.xlsx +0 -0
- data/test/regression/xlsx_files/header_image01.xlsx +0 -0
- data/test/regression/xlsx_files/header_image02.xlsx +0 -0
- data/test/regression/xlsx_files/header_image03.xlsx +0 -0
- data/test/regression/xlsx_files/header_image04.xlsx +0 -0
- data/test/regression/xlsx_files/header_image05.xlsx +0 -0
- data/test/regression/xlsx_files/header_image06.xlsx +0 -0
- data/test/regression/xlsx_files/header_image07.xlsx +0 -0
- data/test/regression/xlsx_files/header_image08.xlsx +0 -0
- data/test/regression/xlsx_files/header_image09.xlsx +0 -0
- data/test/regression/xlsx_files/header_image10.xlsx +0 -0
- data/test/regression/xlsx_files/header_image11.xlsx +0 -0
- data/test/regression/xlsx_files/header_image12.xlsx +0 -0
- data/test/regression/xlsx_files/header_image13.xlsx +0 -0
- data/test/regression/xlsx_files/header_image14.xlsx +0 -0
- data/test/regression/xlsx_files/header_image15.xlsx +0 -0
- data/test/regression/xlsx_files/header_image16.xlsx +0 -0
- data/test/regression/xlsx_files/header_image17.xlsx +0 -0
- data/test/regression/xlsx_files/header_image18.xlsx +0 -0
- data/test/regression/xlsx_files/header_image19.xlsx +0 -0
- data/test/regression/xlsx_files/hide01.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink01.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink02.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink03.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink04.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink05.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink06.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink07.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink08.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink09.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink10.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink11.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink12.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink13.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink14.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink15.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink16.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink17.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink18.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink20.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink21.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink22.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink23.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink24.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/hyperlink32.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink33.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink34.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink35.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink36.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink37.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink38.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink39.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink40.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink41.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink42.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink43.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink44.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink45.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink46.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink47.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink48.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink49.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink50.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink51.xlsx +0 -0
- data/test/regression/xlsx_files/ignore_error01.xlsx +0 -0
- data/test/regression/xlsx_files/ignore_error02.xlsx +0 -0
- data/test/regression/xlsx_files/ignore_error03.xlsx +0 -0
- data/test/regression/xlsx_files/ignore_error04.xlsx +0 -0
- data/test/regression/xlsx_files/ignore_error05.xlsx +0 -0
- data/test/regression/xlsx_files/ignore_error06.xlsx +0 -0
- data/test/regression/xlsx_files/image01.xlsx +0 -0
- data/test/regression/xlsx_files/image02.xlsx +0 -0
- data/test/regression/xlsx_files/image03.xlsx +0 -0
- data/test/regression/xlsx_files/image04.xlsx +0 -0
- data/test/regression/xlsx_files/image05.xlsx +0 -0
- data/test/regression/xlsx_files/image06.xlsx +0 -0
- data/test/regression/xlsx_files/image07.xlsx +0 -0
- data/test/regression/xlsx_files/image08.xlsx +0 -0
- data/test/regression/xlsx_files/image09.xlsx +0 -0
- data/test/regression/xlsx_files/image10.xlsx +0 -0
- data/test/regression/xlsx_files/image11.xlsx +0 -0
- data/test/regression/xlsx_files/image12.xlsx +0 -0
- data/test/regression/xlsx_files/image13.xlsx +0 -0
- data/test/regression/xlsx_files/image14.xlsx +0 -0
- data/test/regression/xlsx_files/image15.xlsx +0 -0
- data/test/regression/xlsx_files/image16.xlsx +0 -0
- data/test/regression/xlsx_files/image17.xlsx +0 -0
- data/test/regression/xlsx_files/image18.xlsx +0 -0
- data/test/regression/xlsx_files/image19.xlsx +0 -0
- data/test/regression/xlsx_files/image22.xlsx +0 -0
- data/test/regression/xlsx_files/image23.xlsx +0 -0
- data/test/regression/xlsx_files/image24.xlsx +0 -0
- data/test/regression/xlsx_files/image25.xlsx +0 -0
- data/test/regression/xlsx_files/image26.xlsx +0 -0
- data/test/regression/xlsx_files/image27.xlsx +0 -0
- data/test/regression/xlsx_files/image28.xlsx +0 -0
- data/test/regression/xlsx_files/image29.xlsx +0 -0
- data/test/regression/xlsx_files/image30.xlsx +0 -0
- data/test/regression/xlsx_files/image31.xlsx +0 -0
- data/test/regression/xlsx_files/image32.xlsx +0 -0
- data/test/regression/xlsx_files/image33.xlsx +0 -0
- data/test/regression/xlsx_files/image35.xlsx +0 -0
- data/test/regression/xlsx_files/image36.xlsx +0 -0
- data/test/regression/xlsx_files/image44.xlsx +0 -0
- data/test/regression/xlsx_files/image45.xlsx +0 -0
- data/test/regression/xlsx_files/image46.xlsx +0 -0
- data/test/regression/xlsx_files/image47.xlsx +0 -0
- data/test/regression/xlsx_files/image48.xlsx +0 -0
- data/test/regression/xlsx_files/image49.xlsx +0 -0
- data/test/regression/xlsx_files/image50.xlsx +0 -0
- data/test/regression/xlsx_files/image51.xlsx +0 -0
- data/test/regression/xlsx_files/image52.xlsx +0 -0
- data/test/regression/xlsx_files/image53.xlsx +0 -0
- data/test/regression/xlsx_files/image54.xlsx +0 -0
- data/test/regression/xlsx_files/image55.xlsx +0 -0
- data/test/regression/xlsx_files/image56.xlsx +0 -0
- data/test/regression/xlsx_files/image57.xlsx +0 -0
- data/test/regression/xlsx_files/landscape01.xlsx +0 -0
- data/test/regression/xlsx_files/macro01.xlsm +0 -0
- data/test/regression/xlsx_files/merge_cells01.xlsx +0 -0
- data/test/regression/xlsx_files/merge_range01.xlsx +0 -0
- data/test/regression/xlsx_files/merge_range02.xlsx +0 -0
- data/test/regression/xlsx_files/merge_range03.xlsx +0 -0
- data/test/regression/xlsx_files/merge_range04.xlsx +0 -0
- data/test/regression/xlsx_files/merge_range05.xlsx +0 -0
- data/test/regression/xlsx_files/object_position01.xlsx +0 -0
- data/test/regression/xlsx_files/object_position02.xlsx +0 -0
- data/test/regression/xlsx_files/object_position03.xlsx +0 -0
- data/test/regression/xlsx_files/object_position04.xlsx +0 -0
- data/test/regression/xlsx_files/object_position06.xlsx +0 -0
- data/test/regression/xlsx_files/object_position07.xlsx +0 -0
- data/test/regression/xlsx_files/object_position08.xlsx +0 -0
- data/test/regression/xlsx_files/object_position09.xlsx +0 -0
- data/test/regression/xlsx_files/object_position10.xlsx +0 -0
- data/test/regression/xlsx_files/object_position12.xlsx +0 -0
- data/test/regression/xlsx_files/object_position13.xlsx +0 -0
- data/test/regression/xlsx_files/object_position14.xlsx +0 -0
- data/test/regression/xlsx_files/object_position15.xlsx +0 -0
- data/test/regression/xlsx_files/object_position16.xlsx +0 -0
- data/test/regression/xlsx_files/object_position17.xlsx +0 -0
- data/test/regression/xlsx_files/object_position18.xlsx +0 -0
- data/test/regression/xlsx_files/object_position19.xlsx +0 -0
- data/test/regression/xlsx_files/object_position20.xlsx +0 -0
- data/test/regression/xlsx_files/outline01.xlsx +0 -0
- data/test/regression/xlsx_files/outline02.xlsx +0 -0
- data/test/regression/xlsx_files/outline03.xlsx +0 -0
- data/test/regression/xlsx_files/outline04.xlsx +0 -0
- data/test/regression/xlsx_files/outline05.xlsx +0 -0
- data/test/regression/xlsx_files/outline06.xlsx +0 -0
- data/test/regression/xlsx_files/page_breaks01.xlsx +0 -0
- data/test/regression/xlsx_files/page_breaks02.xlsx +0 -0
- data/test/regression/xlsx_files/page_breaks03.xlsx +0 -0
- data/test/regression/xlsx_files/page_breaks04.xlsx +0 -0
- data/test/regression/xlsx_files/page_breaks05.xlsx +0 -0
- data/test/regression/xlsx_files/page_breaks06.xlsx +0 -0
- data/test/regression/xlsx_files/page_view01.xlsx +0 -0
- data/test/regression/xlsx_files/panes01.xlsx +0 -0
- data/test/regression/xlsx_files/print_across01.xlsx +0 -0
- data/test/regression/xlsx_files/print_area01.xlsx +0 -0
- data/test/regression/xlsx_files/print_area02.xlsx +0 -0
- data/test/regression/xlsx_files/print_area03.xlsx +0 -0
- data/test/regression/xlsx_files/print_area04.xlsx +0 -0
- data/test/regression/xlsx_files/print_area05.xlsx +0 -0
- data/test/regression/xlsx_files/print_area06.xlsx +0 -0
- data/test/regression/xlsx_files/print_area07.xlsx +0 -0
- data/test/regression/xlsx_files/print_options01.xlsx +0 -0
- data/test/regression/xlsx_files/print_options02.xlsx +0 -0
- data/test/regression/xlsx_files/print_options03.xlsx +0 -0
- data/test/regression/xlsx_files/print_options04.xlsx +0 -0
- data/test/regression/xlsx_files/print_options05.xlsx +0 -0
- data/test/regression/xlsx_files/print_options06.xlsx +0 -0
- data/test/regression/xlsx_files/print_options07.xlsx +0 -0
- data/test/regression/xlsx_files/print_scale01.xlsx +0 -0
- data/test/regression/xlsx_files/print_scale02.xlsx +0 -0
- data/test/regression/xlsx_files/properties01.xlsx +0 -0
- data/test/regression/xlsx_files/properties02.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/protect01.xlsx +0 -0
- data/test/regression/xlsx_files/protect02.xlsx +0 -0
- data/test/regression/xlsx_files/protect03.xlsx +0 -0
- data/test/regression/xlsx_files/protect04.xlsx +0 -0
- data/test/regression/xlsx_files/protect05.xlsx +0 -0
- data/test/regression/xlsx_files/protect06.xlsx +0 -0
- data/test/regression/xlsx_files/protect07.xlsx +0 -0
- data/test/regression/xlsx_files/quote_name01.xlsx +0 -0
- data/test/regression/xlsx_files/quote_name02.xlsx +0 -0
- data/test/regression/xlsx_files/quote_name03.xlsx +0 -0
- data/test/regression/xlsx_files/quote_name04.xlsx +0 -0
- data/test/regression/xlsx_files/repeat01.xlsx +0 -0
- data/test/regression/xlsx_files/repeat02.xlsx +0 -0
- data/test/regression/xlsx_files/repeat03.xlsx +0 -0
- data/test/regression/xlsx_files/repeat04.xlsx +0 -0
- data/test/regression/xlsx_files/repeat05.xlsx +0 -0
- data/test/regression/xlsx_files/rich_string01.xlsx +0 -0
- data/test/regression/xlsx_files/rich_string02.xlsx +0 -0
- data/test/regression/xlsx_files/rich_string03.xlsx +0 -0
- data/test/regression/xlsx_files/rich_string04.xlsx +0 -0
- data/test/regression/xlsx_files/rich_string05.xlsx +0 -0
- data/test/regression/xlsx_files/rich_string06.xlsx +0 -0
- data/test/regression/xlsx_files/rich_string07.xlsx +0 -0
- data/test/regression/xlsx_files/rich_string08.xlsx +0 -0
- data/test/regression/xlsx_files/rich_string09.xlsx +0 -0
- data/test/regression/xlsx_files/rich_string10.xlsx +0 -0
- data/test/regression/xlsx_files/rich_string11.xlsx +0 -0
- data/test/regression/xlsx_files/rich_string12.xlsx +0 -0
- data/test/regression/xlsx_files/row_col_format01.xlsx +0 -0
- data/test/regression/xlsx_files/row_col_format02.xlsx +0 -0
- data/test/regression/xlsx_files/row_col_format03.xlsx +0 -0
- data/test/regression/xlsx_files/row_col_format04.xlsx +0 -0
- data/test/regression/xlsx_files/row_col_format05.xlsx +0 -0
- data/test/regression/xlsx_files/row_col_format06.xlsx +0 -0
- data/test/regression/xlsx_files/row_col_format07.xlsx +0 -0
- data/test/regression/xlsx_files/row_col_format08.xlsx +0 -0
- data/test/regression/xlsx_files/row_col_format09.xlsx +0 -0
- data/test/regression/xlsx_files/row_col_format10.xlsx +0 -0
- data/test/regression/xlsx_files/row_col_format11.xlsx +0 -0
- data/test/regression/xlsx_files/row_col_format12.xlsx +0 -0
- data/test/regression/xlsx_files/row_col_format13.xlsx +0 -0
- data/test/regression/xlsx_files/row_col_format14.xlsx +0 -0
- data/test/regression/xlsx_files/selection01.xlsx +0 -0
- data/test/regression/xlsx_files/selection02.xlsx +0 -0
- data/test/regression/xlsx_files/set_column01.xlsx +0 -0
- data/test/regression/xlsx_files/set_column03.xlsx +0 -0
- data/test/regression/xlsx_files/set_column04.xlsx +0 -0
- data/test/regression/xlsx_files/set_column05.xlsx +0 -0
- data/test/regression/xlsx_files/set_column06.xlsx +0 -0
- data/test/regression/xlsx_files/set_column07.xlsx +0 -0
- data/test/regression/xlsx_files/set_column08.xlsx +0 -0
- data/test/regression/xlsx_files/set_column09.xlsx +0 -0
- data/test/regression/xlsx_files/set_print_scale01.xlsx +0 -0
- data/test/regression/xlsx_files/set_row01.xlsx +0 -0
- data/test/regression/xlsx_files/set_row03.xlsx +0 -0
- data/test/regression/xlsx_files/set_start_page01.xlsx +0 -0
- data/test/regression/xlsx_files/set_start_page02.xlsx +0 -0
- data/test/regression/xlsx_files/set_start_page03.xlsx +0 -0
- data/test/regression/xlsx_files/shape01.xlsx +0 -0
- data/test/regression/xlsx_files/shape02.xlsx +0 -0
- data/test/regression/xlsx_files/shape03.xlsx +0 -0
- data/test/regression/xlsx_files/shape04.xlsx +0 -0
- data/test/regression/xlsx_files/shape_connect01.xlsx +0 -0
- data/test/regression/xlsx_files/shape_connect02.xlsx +0 -0
- data/test/regression/xlsx_files/shape_connect03.xlsx +0 -0
- data/test/regression/xlsx_files/shape_connect04.xlsx +0 -0
- data/test/regression/xlsx_files/shape_scale01.xlsx +0 -0
- data/test/regression/xlsx_files/shape_stencil01.xlsx +0 -0
- data/test/regression/xlsx_files/shared_strings01.xlsx +0 -0
- data/test/regression/xlsx_files/shared_strings02.xlsx +0 -0
- data/test/regression/xlsx_files/shared_strings_encoding.xlsx +0 -0
- data/test/regression/xlsx_files/simple01.xlsx +0 -0
- data/test/regression/xlsx_files/simple02.xlsx +0 -0
- data/test/regression/xlsx_files/simple03.xlsx +0 -0
- data/test/regression/xlsx_files/simple04.xlsx +0 -0
- data/test/regression/xlsx_files/simple05.xlsx +0 -0
- data/test/regression/xlsx_files/tab_color01.xlsx +0 -0
- data/test/regression/xlsx_files/table01.xlsx +0 -0
- data/test/regression/xlsx_files/table02.xlsx +0 -0
- data/test/regression/xlsx_files/table03.xlsx +0 -0
- data/test/regression/xlsx_files/table04.xlsx +0 -0
- data/test/regression/xlsx_files/table05.xlsx +0 -0
- data/test/regression/xlsx_files/table06.xlsx +0 -0
- data/test/regression/xlsx_files/table07.xlsx +0 -0
- data/test/regression/xlsx_files/table08.xlsx +0 -0
- data/test/regression/xlsx_files/table09.xlsx +0 -0
- data/test/regression/xlsx_files/table10.xlsx +0 -0
- data/test/regression/xlsx_files/table11.xlsx +0 -0
- data/test/regression/xlsx_files/table12.xlsx +0 -0
- data/test/regression/xlsx_files/table13.xlsx +0 -0
- data/test/regression/xlsx_files/table14.xlsx +0 -0
- data/test/regression/xlsx_files/table15.xlsx +0 -0
- data/test/regression/xlsx_files/table17.xlsx +0 -0
- data/test/regression/xlsx_files/table18.xlsx +0 -0
- data/test/regression/xlsx_files/table19.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/table23.xlsx +0 -0
- data/test/regression/xlsx_files/table24.xlsx +0 -0
- data/test/regression/xlsx_files/table25.xlsx +0 -0
- data/test/regression/xlsx_files/table26.xlsx +0 -0
- data/test/regression/xlsx_files/tutorial01.xlsx +0 -0
- data/test/regression/xlsx_files/tutorial02.xlsx +0 -0
- data/test/regression/xlsx_files/tutorial03.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/update_range_format_with_params.xlsx +0 -0
- data/test/regression/xlsx_files/urls_as_strings.xlsx +0 -0
- data/test/regression/xlsx_files/utf8_01.xlsx +0 -0
- data/test/regression/xlsx_files/utf8_03.xlsx +0 -0
- data/test/regression/xlsx_files/utf8_04.xlsx +0 -0
- data/test/regression/xlsx_files/utf8_05.xlsx +0 -0
- data/test/regression/xlsx_files/utf8_06.xlsx +0 -0
- data/test/regression/xlsx_files/utf8_07.xlsx +0 -0
- data/test/regression/xlsx_files/utf8_08.xlsx +0 -0
- data/test/regression/xlsx_files/utf8_09.xlsx +0 -0
- data/test/regression/xlsx_files/utf8_10.xlsx +0 -0
- data/test/regression/xlsx_files/utf8_11.xlsx +0 -0
- data/test/regression/xlsx_files/vbaProject01.bin +0 -0
- data/test/regression/xlsx_files/vbaProject02.bin +0 -0
- data/test/regression/xlsx_files/vml01.xlsx +0 -0
- data/test/regression/xlsx_files/vml02.xlsx +0 -0
- data/test/regression/xlsx_files/vml03.xlsx +0 -0
- data/test/regression/xlsx_files/vml04.xlsx +0 -0
- data/test/republic.png +0 -0
- data/test/run_test.rb +0 -9
- data/test/test_delete_files.rb +0 -37
- data/test/test_example_match.rb +0 -6348
- data/test/test_option_hash_for_workbook.rb +0 -72
- data/test/test_xml_writer_simple.rb +0 -64
- data/test/utility/test_range.rb +0 -20
- data/test/vbaProject.bin +0 -0
- data/test/workbook/test_check_sheetname.rb +0 -51
- data/test/workbook/test_define_name.rb +0 -16
- data/test/workbook/test_get_chart_range.rb +0 -57
- data/test/workbook/test_sort_defined_names.rb +0 -77
- data/test/workbook/test_workbook_01.rb +0 -29
- data/test/workbook/test_workbook_02.rb +0 -31
- data/test/workbook/test_workbook_03.rb +0 -31
- data/test/workbook/test_worksheet_by_name.rb +0 -35
- data/test/workbook/test_write_calc_pr.rb +0 -41
- data/test/workbook/test_write_defined_name.rb +0 -17
- data/test/workbook/test_write_defined_names.rb +0 -41
- data/test/workbook/test_write_workbook_view.rb +0 -117
- data/test/worksheet/test_calculate_spans.rb +0 -58
- data/test/worksheet/test_cond_format_01.rb +0 -82
- data/test/worksheet/test_cond_format_02.rb +0 -87
- data/test/worksheet/test_cond_format_03.rb +0 -97
- data/test/worksheet/test_cond_format_04.rb +0 -85
- data/test/worksheet/test_cond_format_05.rb +0 -96
- data/test/worksheet/test_cond_format_06.rb +0 -106
- data/test/worksheet/test_cond_format_07.rb +0 -116
- data/test/worksheet/test_cond_format_08.rb +0 -115
- data/test/worksheet/test_cond_format_09.rb +0 -108
- data/test/worksheet/test_cond_format_10.rb +0 -83
- data/test/worksheet/test_cond_format_11.rb +0 -85
- data/test/worksheet/test_cond_format_12.rb +0 -133
- data/test/worksheet/test_cond_format_13.rb +0 -135
- data/test/worksheet/test_cond_format_14.rb +0 -132
- data/test/worksheet/test_cond_format_15.rb +0 -93
- data/test/worksheet/test_cond_format_16.rb +0 -138
- data/test/worksheet/test_cond_format_17.rb +0 -141
- data/test/worksheet/test_cond_format_18.rb +0 -135
- data/test/worksheet/test_cond_format_19.rb +0 -139
- data/test/worksheet/test_cond_format_20.rb +0 -119
- data/test/worksheet/test_cond_format_21.rb +0 -90
- data/test/worksheet/test_cond_format_22.rb +0 -266
- data/test/worksheet/test_cond_format_23.rb +0 -242
- data/test/worksheet/test_cond_format_24.rb +0 -303
- data/test/worksheet/test_convert_date_time_01.rb +0 -439
- data/test/worksheet/test_convert_date_time_02.rb +0 -472
- data/test/worksheet/test_convert_date_time_03.rb +0 -435
- data/test/worksheet/test_convert_date_time_04.rb +0 -19
- data/test/worksheet/test_data_bar_01.rb +0 -53
- data/test/worksheet/test_data_bar_02.rb +0 -79
- data/test/worksheet/test_data_bar_03.rb +0 -147
- data/test/worksheet/test_data_bar_04.rb +0 -145
- data/test/worksheet/test_data_bar_05.rb +0 -147
- data/test/worksheet/test_data_bar_06.rb +0 -145
- data/test/worksheet/test_data_bar_07.rb +0 -146
- data/test/worksheet/test_data_bar_08.rb +0 -54
- data/test/worksheet/test_data_bar_09.rb +0 -80
- data/test/worksheet/test_data_bar_10.rb +0 -165
- data/test/worksheet/test_data_bar_11.rb +0 -167
- data/test/worksheet/test_data_bar_12.rb +0 -104
- data/test/worksheet/test_extract_filter_tokens.rb +0 -109
- data/test/worksheet/test_parse_filter_expression.rb +0 -143
- data/test/worksheet/test_pixels_to_row_col.rb +0 -46
- data/test/worksheet/test_position_object.rb +0 -50
- data/test/worksheet/test_repeat_formula.rb +0 -55
- data/test/worksheet/test_sparkline_01.rb +0 -65
- data/test/worksheet/test_sparkline_02.rb +0 -92
- data/test/worksheet/test_sparkline_03.rb +0 -133
- data/test/worksheet/test_sparkline_04.rb +0 -93
- data/test/worksheet/test_sparkline_05.rb +0 -93
- data/test/worksheet/test_sparkline_06.rb +0 -114
- data/test/worksheet/test_sparkline_07.rb +0 -357
- data/test/worksheet/test_sparkline_08.rb +0 -177
- data/test/worksheet/test_sparkline_09.rb +0 -1250
- data/test/worksheet/test_sparkline_10.rb +0 -107
- data/test/worksheet/test_sparkline_11.rb +0 -218
- data/test/worksheet/test_sparkline_12.rb +0 -94
- data/test/worksheet/test_update_format_methods.rb +0 -91
- data/test/worksheet/test_worksheet_01.rb +0 -32
- data/test/worksheet/test_worksheet_02.rb +0 -38
- data/test/worksheet/test_worksheet_03.rb +0 -44
- data/test/worksheet/test_worksheet_04.rb +0 -45
- data/test/worksheet/test_write_array_formula_01.rb +0 -98
- data/test/worksheet/test_write_autofilter.rb +0 -260
- data/test/worksheet/test_write_brk.rb +0 -18
- data/test/worksheet/test_write_cell.rb +0 -54
- data/test/worksheet/test_write_cell_value.rb +0 -33
- data/test/worksheet/test_write_col_breaks.rb +0 -27
- data/test/worksheet/test_write_col_info.rb +0 -95
- data/test/worksheet/test_write_conditional_formatting.rb +0 -72
- data/test/worksheet/test_write_custom_filter.rb +0 -18
- data/test/worksheet/test_write_custom_filters.rb +0 -25
- data/test/worksheet/test_write_data_validation_01.rb +0 -113
- data/test/worksheet/test_write_data_validation_02.rb +0 -585
- data/test/worksheet/test_write_dimension.rb +0 -94
- data/test/worksheet/test_write_filter.rb +0 -18
- data/test/worksheet/test_write_filter_column.rb +0 -18
- data/test/worksheet/test_write_filters.rb +0 -32
- data/test/worksheet/test_write_formula_does_not_change_formula_string.rb +0 -18
- data/test/worksheet/test_write_header_footer.rb +0 -58
- data/test/worksheet/test_write_hyperlink.rb +0 -32
- data/test/worksheet/test_write_legacy_drawing.rb +0 -19
- data/test/worksheet/test_write_merge_cell.rb +0 -18
- data/test/worksheet/test_write_merge_cells.rb +0 -192
- data/test/worksheet/test_write_methods.rb +0 -248
- data/test/worksheet/test_write_page_margins.rb +0 -98
- data/test/worksheet/test_write_page_set_up_pr.rb +0 -19
- data/test/worksheet/test_write_page_setup.rb +0 -54
- data/test/worksheet/test_write_pane.rb +0 -123
- data/test/worksheet/test_write_phonetic_pr.rb +0 -19
- data/test/worksheet/test_write_print_options.rb +0 -77
- data/test/worksheet/test_write_row_breaks.rb +0 -27
- data/test/worksheet/test_write_row_element.rb +0 -69
- data/test/worksheet/test_write_selection.rb +0 -18
- data/test/worksheet/test_write_sheet_calc_pr.rb +0 -18
- data/test/worksheet/test_write_sheet_data.rb +0 -18
- data/test/worksheet/test_write_sheet_format_pr.rb +0 -18
- data/test/worksheet/test_write_sheet_pr.rb +0 -36
- data/test/worksheet/test_write_sheet_protection.rb +0 -174
- data/test/worksheet/test_write_sheet_view.rb +0 -71
- data/test/worksheet/test_write_sheet_view1.rb +0 -64
- data/test/worksheet/test_write_sheet_view2.rb +0 -56
- data/test/worksheet/test_write_sheet_view3.rb +0 -83
- data/test/worksheet/test_write_sheet_view4.rb +0 -83
- data/test/worksheet/test_write_sheet_view5.rb +0 -74
- data/test/worksheet/test_write_sheet_view6.rb +0 -51
- data/test/worksheet/test_write_sheet_view7.rb +0 -71
- data/test/worksheet/test_write_sheet_view8.rb +0 -51
- data/test/worksheet/test_write_sheet_view9.rb +0 -51
- data/test/worksheet/test_write_tab_color.rb +0 -23
- data/test/worksheet/test_write_worksheet_attributes.rb +0 -21
data/lib/write_xlsx/workbook.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
# frozen_string_literal: true
|
3
|
+
|
3
4
|
require 'write_xlsx/package/xml_writer_simple'
|
4
5
|
require 'write_xlsx/package/packager'
|
5
6
|
require 'write_xlsx/sheets'
|
@@ -16,11 +17,9 @@ require 'tempfile'
|
|
16
17
|
require 'digest/md5'
|
17
18
|
|
18
19
|
module Writexlsx
|
19
|
-
|
20
20
|
OFFICE_URL = 'http://schemas.microsoft.com/office/' # :nodoc:
|
21
21
|
|
22
22
|
class Workbook
|
23
|
-
|
24
23
|
include Writexlsx::Utility
|
25
24
|
|
26
25
|
attr_writer :firstsheet # :nodoc:
|
@@ -35,16 +34,18 @@ module Writexlsx
|
|
35
34
|
attr_reader :excel2003_style # :nodoc:
|
36
35
|
attr_reader :max_url_length # :nodoc:
|
37
36
|
attr_reader :strings_to_urls # :nodoc:
|
38
|
-
attr_reader :default_url_format # :nodoc:
|
39
37
|
attr_reader :read_only # :nodoc:
|
40
38
|
|
41
39
|
def initialize(file, *option_params)
|
42
40
|
options, default_formats = process_workbook_options(*option_params)
|
43
41
|
@writer = Package::XMLWriterSimple.new
|
44
42
|
|
45
|
-
@file
|
43
|
+
@file = file
|
46
44
|
@tempdir = options[:tempdir] ||
|
47
|
-
|
45
|
+
File.join(
|
46
|
+
Dir.tmpdir,
|
47
|
+
Digest::MD5.hexdigest("#{Time.now.to_f}-#{Process.pid}")
|
48
|
+
)
|
48
49
|
@date_1904 = options[:date_1904] || false
|
49
50
|
@activesheet = 0
|
50
51
|
@firstsheet = 0
|
@@ -57,7 +58,7 @@ module Writexlsx
|
|
57
58
|
@xf_formats = []
|
58
59
|
@dxf_formats = []
|
59
60
|
@font_count = 0
|
60
|
-
@
|
61
|
+
@num_formats = []
|
61
62
|
@defined_names = []
|
62
63
|
@named_ranges = []
|
63
64
|
@custom_colors = []
|
@@ -73,7 +74,7 @@ module Writexlsx
|
|
73
74
|
@table_count = 0
|
74
75
|
@image_types = {}
|
75
76
|
@images = []
|
76
|
-
@strings_to_urls =
|
77
|
+
@strings_to_urls = options[:strings_to_urls].nil? || options[:strings_to_urls] ? true : false
|
77
78
|
|
78
79
|
@max_url_length = 2079
|
79
80
|
@has_comments = false
|
@@ -94,18 +95,18 @@ module Writexlsx
|
|
94
95
|
|
95
96
|
if @excel2003_style
|
96
97
|
add_format(default_formats.merge(
|
97
|
-
:
|
98
|
-
:
|
99
|
-
:
|
100
|
-
:
|
101
|
-
:
|
98
|
+
xf_index: 0,
|
99
|
+
font_family: 0,
|
100
|
+
font: 'Arial',
|
101
|
+
size: 10,
|
102
|
+
theme: -1
|
102
103
|
))
|
103
104
|
else
|
104
|
-
add_format(default_formats.merge(:
|
105
|
+
add_format(default_formats.merge(xf_index: 0))
|
105
106
|
end
|
106
107
|
|
107
108
|
# Add a default URL format.
|
108
|
-
@default_url_format = add_format(:
|
109
|
+
@default_url_format = add_format(hyperlink: 1)
|
109
110
|
|
110
111
|
set_color_palette
|
111
112
|
end
|
@@ -132,7 +133,7 @@ module Writexlsx
|
|
132
133
|
if args.empty?
|
133
134
|
@worksheets
|
134
135
|
else
|
135
|
-
args.collect{|i| @worksheets[i] }
|
136
|
+
args.collect { |i| @worksheets[i] }
|
136
137
|
end
|
137
138
|
end
|
138
139
|
|
@@ -148,9 +149,8 @@ module Writexlsx
|
|
148
149
|
# Set the date system: false = 1900 (the default), true = 1904
|
149
150
|
#
|
150
151
|
def set_1904(mode = true)
|
151
|
-
unless sheets.empty?
|
152
|
-
|
153
|
-
end
|
152
|
+
raise "set_1904() must be called before add_worksheet()" unless sheets.empty?
|
153
|
+
|
154
154
|
@date_1904 = ptrue?(mode)
|
155
155
|
end
|
156
156
|
|
@@ -168,31 +168,29 @@ module Writexlsx
|
|
168
168
|
#
|
169
169
|
# user must not use. it is internal method.
|
170
170
|
#
|
171
|
-
def set_xml_writer(filename)
|
171
|
+
def set_xml_writer(filename) # :nodoc:
|
172
172
|
@writer.set_xml_writer(filename)
|
173
173
|
end
|
174
174
|
|
175
175
|
#
|
176
176
|
# user must not use. it is internal method.
|
177
177
|
#
|
178
|
-
def xml_str
|
178
|
+
def xml_str # :nodoc:
|
179
179
|
@writer.string
|
180
180
|
end
|
181
181
|
|
182
182
|
#
|
183
183
|
# user must not use. it is internal method.
|
184
184
|
#
|
185
|
-
def assemble_xml_file
|
185
|
+
def assemble_xml_file # :nodoc:
|
186
186
|
return unless @writer
|
187
187
|
|
188
188
|
# Prepare format object for passing to Style.rb.
|
189
189
|
prepare_format_properties
|
190
190
|
|
191
191
|
write_xml_declaration do
|
192
|
-
|
193
192
|
# Write the root workbook element.
|
194
193
|
write_workbook do
|
195
|
-
|
196
194
|
# Write the XLSX file version.
|
197
195
|
write_file_version
|
198
196
|
|
@@ -215,7 +213,7 @@ module Writexlsx
|
|
215
213
|
write_calc_pr
|
216
214
|
|
217
215
|
# Write the workbook extension storage.
|
218
|
-
#write_ext_lst
|
216
|
+
# write_ext_lst
|
219
217
|
end
|
220
218
|
end
|
221
219
|
end
|
@@ -224,7 +222,7 @@ module Writexlsx
|
|
224
222
|
# At least one worksheet should be added to a new workbook. A worksheet is used to write data into cells:
|
225
223
|
#
|
226
224
|
def add_worksheet(name = '')
|
227
|
-
name
|
225
|
+
name = check_sheetname(name)
|
228
226
|
worksheet = Worksheet.new(self, @worksheets.size, name)
|
229
227
|
@worksheets << worksheet
|
230
228
|
worksheet
|
@@ -257,7 +255,7 @@ module Writexlsx
|
|
257
255
|
# Check the worksheet name for non-embedded charts.
|
258
256
|
sheetname = check_chart_sheetname(name)
|
259
257
|
chartsheet = Chartsheet.new(self, @worksheets.size, sheetname)
|
260
|
-
chartsheet.chart
|
258
|
+
chartsheet.chart = chart
|
261
259
|
@worksheets << chartsheet
|
262
260
|
end
|
263
261
|
@charts << chart
|
@@ -275,9 +273,7 @@ module Writexlsx
|
|
275
273
|
#
|
276
274
|
def add_format(property_hash = {})
|
277
275
|
properties = {}
|
278
|
-
if @excel2003_style
|
279
|
-
properties.update(:font => 'Arial', :size => 10, :theme => -1)
|
280
|
-
end
|
276
|
+
properties.update(font: 'Arial', size: 10, theme: -1) if @excel2003_style
|
281
277
|
properties.update(property_hash)
|
282
278
|
|
283
279
|
format = Format.new(@formats, properties)
|
@@ -296,7 +292,7 @@ module Writexlsx
|
|
296
292
|
shape.palette = @palette
|
297
293
|
|
298
294
|
@shapes ||= []
|
299
|
-
@shapes << shape #Store shape reference.
|
295
|
+
@shapes << shape # Store shape reference.
|
300
296
|
shape
|
301
297
|
end
|
302
298
|
|
@@ -310,63 +306,55 @@ module Writexlsx
|
|
310
306
|
|
311
307
|
# Local defined names are formatted like "Sheet1!name".
|
312
308
|
if name =~ /^(.*)!(.*)$/
|
313
|
-
sheetname =
|
314
|
-
name =
|
309
|
+
sheetname = ::Regexp.last_match(1)
|
310
|
+
name = ::Regexp.last_match(2)
|
315
311
|
sheet_index = @worksheets.index_by_name(sheetname)
|
316
312
|
else
|
317
313
|
sheet_index = -1 # Use -1 to indicate global names.
|
318
314
|
end
|
319
315
|
|
320
316
|
# Raise if the sheet index wasn't found.
|
321
|
-
|
322
|
-
raise "Unknown sheet name #{sheetname} in defined_name()"
|
323
|
-
end
|
317
|
+
raise "Unknown sheet name #{sheetname} in defined_name()" unless sheet_index
|
324
318
|
|
325
319
|
# Raise if the name contains invalid chars as defined by Excel help.
|
326
320
|
# Refer to the following to see Excel's syntax rules for defined names:
|
327
321
|
# http://office.microsoft.com/en-001/excel-help/define-and-use-names-in-formulas-HA010147120.aspx#BMsyntax_rules_for_names
|
328
322
|
#
|
329
|
-
if name =~ /\A[-0-9 !"
|
330
|
-
raise "Invalid characters in name '#{name}' used in defined_name()"
|
331
|
-
end
|
323
|
+
raise "Invalid characters in name '#{name}' used in defined_name()" if name =~ /\A[-0-9 !"#$%&'()*+,.:;<=>?@\[\]\^`{}~]/ || name =~ /.+[- !"#$%&'()*+,\\:;<=>?@\[\]\^`{}~]/
|
332
324
|
|
333
325
|
# Raise if the name looks like a cell name.
|
334
|
-
if name =~
|
335
|
-
raise "Invalid name '#{name}' looks like a cell name in defined_name()"
|
336
|
-
end
|
326
|
+
raise "Invalid name '#{name}' looks like a cell name in defined_name()" if name =~ /^[a-zA-Z][a-zA-Z]?[a-dA-D]?[0-9]+$/
|
337
327
|
|
338
328
|
# Raise if the name looks like a R1C1
|
339
|
-
if name =~ /\A[rcRC]\Z/ || name =~ /\A[rcRC]\d+[rcRC]\d+\Z/
|
340
|
-
raise "Invalid name '#{name}' like a RC cell ref in defined_name()"
|
341
|
-
end
|
329
|
+
raise "Invalid name '#{name}' like a RC cell ref in defined_name()" if name =~ /\A[rcRC]\Z/ || name =~ /\A[rcRC]\d+[rcRC]\d+\Z/
|
342
330
|
|
343
|
-
@defined_names.push([
|
331
|
+
@defined_names.push([name, sheet_index, formula.sub(/^=/, '')])
|
344
332
|
end
|
345
333
|
|
346
334
|
#
|
347
335
|
# Set the workbook size.
|
348
336
|
#
|
349
337
|
def set_size(width = nil, height = nil)
|
350
|
-
if ptrue?(width)
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
338
|
+
@window_width = if ptrue?(width)
|
339
|
+
# Convert to twips at 96 dpi.
|
340
|
+
width.to_i * 1440 / 96
|
341
|
+
else
|
342
|
+
16095
|
343
|
+
end
|
356
344
|
|
357
|
-
if ptrue?(height)
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
345
|
+
@window_height = if ptrue?(height)
|
346
|
+
# Convert to twips at 96 dpi.
|
347
|
+
height.to_i * 1440 / 96
|
348
|
+
else
|
349
|
+
9660
|
350
|
+
end
|
363
351
|
end
|
364
352
|
|
365
353
|
#
|
366
354
|
# Set the ratio of space for worksheet tabs.
|
367
355
|
#
|
368
356
|
def set_tab_ratio(tab_ratio = nil)
|
369
|
-
return
|
357
|
+
return unless tab_ratio
|
370
358
|
|
371
359
|
if tab_ratio < 0 || tab_ratio > 100
|
372
360
|
raise "Tab ratio outside range: 0 <= zoom <= 100"
|
@@ -388,18 +376,18 @@ module Writexlsx
|
|
388
376
|
|
389
377
|
# List of valid input parameters.
|
390
378
|
valid = {
|
391
|
-
:
|
392
|
-
:
|
393
|
-
:
|
394
|
-
:
|
395
|
-
:
|
396
|
-
:
|
397
|
-
:
|
398
|
-
:
|
399
|
-
:
|
400
|
-
:
|
401
|
-
:
|
402
|
-
:
|
379
|
+
title: 1,
|
380
|
+
subject: 1,
|
381
|
+
author: 1,
|
382
|
+
keywords: 1,
|
383
|
+
comments: 1,
|
384
|
+
last_author: 1,
|
385
|
+
created: 1,
|
386
|
+
category: 1,
|
387
|
+
manager: 1,
|
388
|
+
company: 1,
|
389
|
+
status: 1,
|
390
|
+
hyperlink_base: 1
|
403
391
|
}
|
404
392
|
|
405
393
|
# Check for valid input parameters.
|
@@ -417,40 +405,34 @@ module Writexlsx
|
|
417
405
|
# Set a user defined custom document property.
|
418
406
|
#
|
419
407
|
def set_custom_property(name, value, type = nil)
|
420
|
-
|
408
|
+
# Valid types.
|
421
409
|
valid_type = {
|
422
410
|
'text' => 1,
|
423
411
|
'date' => 1,
|
424
412
|
'number' => 1,
|
425
413
|
'number_int' => 1,
|
426
|
-
'bool' => 1
|
414
|
+
'bool' => 1
|
427
415
|
}
|
428
416
|
|
429
|
-
if !name || (type != 'bool' && !value)
|
430
|
-
raise "The name and value parameters must be defined in set_custom_property()"
|
431
|
-
end
|
417
|
+
raise "The name and value parameters must be defined in set_custom_property()" if !name || (type != 'bool' && !value)
|
432
418
|
|
433
419
|
# Determine the type for strings and numbers if it hasn't been specified.
|
434
|
-
|
435
|
-
if value =~ /^\d+$/
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
420
|
+
unless ptrue?(type)
|
421
|
+
type = if value =~ /^\d+$/
|
422
|
+
'number_int'
|
423
|
+
elsif value =~
|
424
|
+
/^([+-]?)(?=[0-9]|\.[0-9])[0-9]*(\.[0-9]*)?([Ee]([+-]?[0-9]+))?$/
|
425
|
+
'number'
|
426
|
+
else
|
427
|
+
'text'
|
428
|
+
end
|
443
429
|
end
|
444
430
|
|
445
431
|
# Check for valid validation types.
|
446
|
-
|
447
|
-
raise "Unknown custom type '$type' in set_custom_property()"
|
448
|
-
end
|
432
|
+
raise "Unknown custom type '$type' in set_custom_property()" unless valid_type[type]
|
449
433
|
|
450
434
|
# Check for strings longer than Excel's limit of 255 chars.
|
451
|
-
if type == 'text' && value.length > 255
|
452
|
-
raise "Length of text custom value '$value' exceeds Excel's limit of 255 in set_custom_property()"
|
453
|
-
end
|
435
|
+
raise "Length of text custom value '$value' exceeds Excel's limit of 255 in set_custom_property()" if type == 'text' && value.length > 255
|
454
436
|
|
455
437
|
if type == 'bool'
|
456
438
|
value = value ? 1 : 0
|
@@ -459,7 +441,6 @@ module Writexlsx
|
|
459
441
|
@custom_properties << [name, value, type]
|
460
442
|
end
|
461
443
|
|
462
|
-
|
463
444
|
#
|
464
445
|
# The add_vba_project method can be used to add macros or functions to an
|
465
446
|
# WriteXLSX file using a binary VBA project file that has been extracted
|
@@ -473,11 +454,7 @@ module Writexlsx
|
|
473
454
|
# Set the VBA name for the workbook.
|
474
455
|
#
|
475
456
|
def set_vba_name(vba_codename = nil)
|
476
|
-
|
477
|
-
@vba_codename = vba_codename
|
478
|
-
else
|
479
|
-
@vba_codename = 'ThisWorkbook'
|
480
|
-
end
|
457
|
+
@vba_codename = vba_codename || 'ThisWorkbook'
|
481
458
|
end
|
482
459
|
|
483
460
|
#
|
@@ -496,7 +473,7 @@ module Writexlsx
|
|
496
473
|
@calc_mode = mode || 'auto'
|
497
474
|
|
498
475
|
if mode == 'manual'
|
499
|
-
|
476
|
+
@calc_on_load = false
|
500
477
|
elsif mode == 'auto_except_tables'
|
501
478
|
@calc_mode = 'autoNoTable'
|
502
479
|
end
|
@@ -509,9 +486,7 @@ module Writexlsx
|
|
509
486
|
# with write_url(). The format is the hyperlink style defined by Excel for the
|
510
487
|
# default theme.
|
511
488
|
#
|
512
|
-
|
513
|
-
@default_url_format
|
514
|
-
end
|
489
|
+
attr_reader :default_url_format
|
515
490
|
alias get_default_url_format default_url_format
|
516
491
|
|
517
492
|
#
|
@@ -520,15 +495,13 @@ module Writexlsx
|
|
520
495
|
def set_custom_color(index, red = 0, green = 0, blue = 0)
|
521
496
|
# Match a HTML #xxyyzz style parameter
|
522
497
|
if red.to_s =~ /^#(\w\w)(\w\w)(\w\w)/
|
523
|
-
red =
|
524
|
-
green =
|
525
|
-
blue =
|
498
|
+
red = ::Regexp.last_match(1).hex
|
499
|
+
green = ::Regexp.last_match(2).hex
|
500
|
+
blue = ::Regexp.last_match(3).hex
|
526
501
|
end
|
527
502
|
|
528
503
|
# Check that the colour index is the right range
|
529
|
-
if index < 8 || index > 64
|
530
|
-
raise "Color index #{index} outside range: 8 <= index <= 64"
|
531
|
-
end
|
504
|
+
raise "Color index #{index} outside range: 8 <= index <= 64" if index < 8 || index > 64
|
532
505
|
|
533
506
|
# Check that the colour components are in the right range
|
534
507
|
if (red < 0 || red > 255) ||
|
@@ -537,7 +510,7 @@ module Writexlsx
|
|
537
510
|
raise "Color component outside range: 0 <= color <= 255"
|
538
511
|
end
|
539
512
|
|
540
|
-
index -=8 # Adjust colour index (wingless dragonfly)
|
513
|
+
index -= 8 # Adjust colour index (wingless dragonfly)
|
541
514
|
|
542
515
|
# Set the RGB value
|
543
516
|
@palette[index] = [red, green, blue]
|
@@ -548,15 +521,11 @@ module Writexlsx
|
|
548
521
|
index + 8
|
549
522
|
end
|
550
523
|
|
551
|
-
|
552
|
-
@activesheet = worksheet
|
553
|
-
end
|
524
|
+
attr_writer :activesheet
|
554
525
|
|
555
|
-
|
556
|
-
@writer
|
557
|
-
end
|
526
|
+
attr_reader :writer
|
558
527
|
|
559
|
-
def date_1904?
|
528
|
+
def date_1904? # :nodoc:
|
560
529
|
@date_1904 ||= false
|
561
530
|
!!@date_1904
|
562
531
|
end
|
@@ -566,7 +535,7 @@ module Writexlsx
|
|
566
535
|
# return the string index.
|
567
536
|
#
|
568
537
|
EMPTY_HASH = {}.freeze
|
569
|
-
def shared_string_index(str)
|
538
|
+
def shared_string_index(str) # :nodoc:
|
570
539
|
@shared_strings.index(str, EMPTY_HASH)
|
571
540
|
end
|
572
541
|
|
@@ -591,7 +560,7 @@ module Writexlsx
|
|
591
560
|
@xf_formats,
|
592
561
|
@palette,
|
593
562
|
@font_count,
|
594
|
-
@
|
563
|
+
@num_formats,
|
595
564
|
@border_count,
|
596
565
|
@fill_count,
|
597
566
|
@custom_colors,
|
@@ -616,11 +585,11 @@ module Writexlsx
|
|
616
585
|
@worksheets.worksheets
|
617
586
|
end
|
618
587
|
|
619
|
-
def firstsheet
|
588
|
+
def firstsheet # :nodoc:
|
620
589
|
@firstsheet ||= 0
|
621
590
|
end
|
622
591
|
|
623
|
-
def activesheet
|
592
|
+
def activesheet # :nodoc:
|
624
593
|
@activesheet ||= 0
|
625
594
|
end
|
626
595
|
|
@@ -640,7 +609,7 @@ module Writexlsx
|
|
640
609
|
@fileobj
|
641
610
|
end
|
642
611
|
|
643
|
-
def setup_filename
|
612
|
+
def setup_filename # :nodoc:
|
644
613
|
if @file.respond_to?(:to_str) && @file != ''
|
645
614
|
@filename = @file
|
646
615
|
@fileobj = nil
|
@@ -652,71 +621,69 @@ module Writexlsx
|
|
652
621
|
end
|
653
622
|
end
|
654
623
|
|
655
|
-
|
656
|
-
@tempdir
|
657
|
-
end
|
624
|
+
attr_reader :tempdir
|
658
625
|
|
659
626
|
#
|
660
627
|
# Sets the colour palette to the Excel defaults.
|
661
628
|
#
|
662
|
-
def set_color_palette
|
629
|
+
def set_color_palette # :nodoc:
|
663
630
|
@palette = [
|
664
|
-
[
|
665
|
-
[
|
666
|
-
[
|
667
|
-
[
|
668
|
-
[
|
669
|
-
[
|
670
|
-
[
|
671
|
-
[
|
672
|
-
[
|
673
|
-
[
|
674
|
-
[
|
675
|
-
[
|
676
|
-
[
|
677
|
-
[
|
678
|
-
[
|
679
|
-
[
|
680
|
-
[
|
681
|
-
[
|
682
|
-
[
|
683
|
-
[
|
684
|
-
[
|
685
|
-
[
|
686
|
-
[
|
687
|
-
[
|
688
|
-
[
|
689
|
-
[
|
690
|
-
[
|
691
|
-
[
|
692
|
-
[
|
693
|
-
[
|
694
|
-
[
|
695
|
-
[
|
696
|
-
[
|
697
|
-
[
|
698
|
-
[
|
699
|
-
[
|
700
|
-
[
|
701
|
-
[
|
702
|
-
[
|
703
|
-
[
|
704
|
-
[
|
705
|
-
[
|
706
|
-
[
|
707
|
-
[
|
708
|
-
[
|
709
|
-
[
|
710
|
-
[
|
711
|
-
[
|
712
|
-
[
|
713
|
-
[
|
714
|
-
[
|
715
|
-
[
|
716
|
-
[
|
717
|
-
[
|
718
|
-
[
|
719
|
-
[
|
631
|
+
[0x00, 0x00, 0x00, 0x00], # 8
|
632
|
+
[0xff, 0xff, 0xff, 0x00], # 9
|
633
|
+
[0xff, 0x00, 0x00, 0x00], # 10
|
634
|
+
[0x00, 0xff, 0x00, 0x00], # 11
|
635
|
+
[0x00, 0x00, 0xff, 0x00], # 12
|
636
|
+
[0xff, 0xff, 0x00, 0x00], # 13
|
637
|
+
[0xff, 0x00, 0xff, 0x00], # 14
|
638
|
+
[0x00, 0xff, 0xff, 0x00], # 15
|
639
|
+
[0x80, 0x00, 0x00, 0x00], # 16
|
640
|
+
[0x00, 0x80, 0x00, 0x00], # 17
|
641
|
+
[0x00, 0x00, 0x80, 0x00], # 18
|
642
|
+
[0x80, 0x80, 0x00, 0x00], # 19
|
643
|
+
[0x80, 0x00, 0x80, 0x00], # 20
|
644
|
+
[0x00, 0x80, 0x80, 0x00], # 21
|
645
|
+
[0xc0, 0xc0, 0xc0, 0x00], # 22
|
646
|
+
[0x80, 0x80, 0x80, 0x00], # 23
|
647
|
+
[0x99, 0x99, 0xff, 0x00], # 24
|
648
|
+
[0x99, 0x33, 0x66, 0x00], # 25
|
649
|
+
[0xff, 0xff, 0xcc, 0x00], # 26
|
650
|
+
[0xcc, 0xff, 0xff, 0x00], # 27
|
651
|
+
[0x66, 0x00, 0x66, 0x00], # 28
|
652
|
+
[0xff, 0x80, 0x80, 0x00], # 29
|
653
|
+
[0x00, 0x66, 0xcc, 0x00], # 30
|
654
|
+
[0xcc, 0xcc, 0xff, 0x00], # 31
|
655
|
+
[0x00, 0x00, 0x80, 0x00], # 32
|
656
|
+
[0xff, 0x00, 0xff, 0x00], # 33
|
657
|
+
[0xff, 0xff, 0x00, 0x00], # 34
|
658
|
+
[0x00, 0xff, 0xff, 0x00], # 35
|
659
|
+
[0x80, 0x00, 0x80, 0x00], # 36
|
660
|
+
[0x80, 0x00, 0x00, 0x00], # 37
|
661
|
+
[0x00, 0x80, 0x80, 0x00], # 38
|
662
|
+
[0x00, 0x00, 0xff, 0x00], # 39
|
663
|
+
[0x00, 0xcc, 0xff, 0x00], # 40
|
664
|
+
[0xcc, 0xff, 0xff, 0x00], # 41
|
665
|
+
[0xcc, 0xff, 0xcc, 0x00], # 42
|
666
|
+
[0xff, 0xff, 0x99, 0x00], # 43
|
667
|
+
[0x99, 0xcc, 0xff, 0x00], # 44
|
668
|
+
[0xff, 0x99, 0xcc, 0x00], # 45
|
669
|
+
[0xcc, 0x99, 0xff, 0x00], # 46
|
670
|
+
[0xff, 0xcc, 0x99, 0x00], # 47
|
671
|
+
[0x33, 0x66, 0xff, 0x00], # 48
|
672
|
+
[0x33, 0xcc, 0xcc, 0x00], # 49
|
673
|
+
[0x99, 0xcc, 0x00, 0x00], # 50
|
674
|
+
[0xff, 0xcc, 0x00, 0x00], # 51
|
675
|
+
[0xff, 0x99, 0x00, 0x00], # 52
|
676
|
+
[0xff, 0x66, 0x00, 0x00], # 53
|
677
|
+
[0x66, 0x66, 0x99, 0x00], # 54
|
678
|
+
[0x96, 0x96, 0x96, 0x00], # 55
|
679
|
+
[0x00, 0x33, 0x66, 0x00], # 56
|
680
|
+
[0x33, 0x99, 0x66, 0x00], # 57
|
681
|
+
[0x00, 0x33, 0x00, 0x00], # 58
|
682
|
+
[0x33, 0x33, 0x00, 0x00], # 59
|
683
|
+
[0x99, 0x33, 0x00, 0x00], # 60
|
684
|
+
[0x99, 0x33, 0x66, 0x00], # 61
|
685
|
+
[0x33, 0x33, 0x99, 0x00], # 62
|
686
|
+
[0x33, 0x33, 0x33, 0x00] # 63
|
720
687
|
]
|
721
688
|
end
|
722
689
|
|
@@ -724,7 +691,7 @@ module Writexlsx
|
|
724
691
|
# Check for valid worksheet names. We check the length, if it contains any
|
725
692
|
# invalid characters and if the name is unique in the workbook.
|
726
693
|
#
|
727
|
-
def check_sheetname(name)
|
694
|
+
def check_sheetname(name) # :nodoc:
|
728
695
|
@worksheets.make_and_check_sheet_chart_name(:sheet, name)
|
729
696
|
end
|
730
697
|
|
@@ -736,60 +703,58 @@ module Writexlsx
|
|
736
703
|
# Convert a range formula such as Sheet1!$B$1:$B$5 into a sheet name and cell
|
737
704
|
# range such as ( 'Sheet1', 0, 1, 4, 1 ).
|
738
705
|
#
|
739
|
-
def get_chart_range(range)
|
706
|
+
def get_chart_range(range) # :nodoc:
|
740
707
|
# Split the range formula into sheetname and cells at the last '!'.
|
741
708
|
pos = range.rindex('!')
|
742
709
|
return nil unless pos
|
743
710
|
|
744
711
|
if pos > 0
|
745
712
|
sheetname = range[0, pos]
|
746
|
-
cells = range[pos + 1
|
713
|
+
cells = range[pos + 1..-1]
|
747
714
|
end
|
748
715
|
|
749
716
|
# Split the cell range into 2 cells or else use single cell for both.
|
750
717
|
if cells =~ /:/
|
751
|
-
cell_1, cell_2 = cells.split(
|
718
|
+
cell_1, cell_2 = cells.split(":")
|
752
719
|
else
|
753
|
-
cell_1
|
720
|
+
cell_1 = cells
|
721
|
+
cell_2 = cells
|
754
722
|
end
|
755
723
|
|
756
724
|
# Remove leading/trailing apostrophes and convert escaped quotes to single.
|
757
725
|
sheetname.sub!(/^'/, '')
|
758
726
|
sheetname.sub!(/'$/, '')
|
759
|
-
sheetname.gsub!(
|
727
|
+
sheetname.gsub!("''", "'")
|
760
728
|
|
761
729
|
row_start, col_start = xl_cell_to_rowcol(cell_1)
|
762
730
|
row_end, col_end = xl_cell_to_rowcol(cell_2)
|
763
731
|
|
764
732
|
# Check that we have a 1D range only.
|
765
733
|
return nil if row_start != row_end && col_start != col_end
|
766
|
-
|
734
|
+
|
735
|
+
[sheetname, row_start, col_start, row_end, col_end]
|
767
736
|
end
|
768
737
|
|
769
|
-
def write_workbook
|
770
|
-
schema
|
738
|
+
def write_workbook(&block) # :nodoc:
|
739
|
+
schema = 'http://schemas.openxmlformats.org'
|
771
740
|
attributes = [
|
772
741
|
['xmlns',
|
773
742
|
schema + '/spreadsheetml/2006/main'],
|
774
743
|
['xmlns:r',
|
775
744
|
schema + '/officeDocument/2006/relationships']
|
776
745
|
]
|
777
|
-
@writer.tag_elements('workbook', attributes)
|
778
|
-
yield
|
779
|
-
end
|
746
|
+
@writer.tag_elements('workbook', attributes, &block)
|
780
747
|
end
|
781
748
|
|
782
|
-
def write_file_version
|
749
|
+
def write_file_version # :nodoc:
|
783
750
|
attributes = [
|
784
|
-
[
|
751
|
+
%w[appName xl],
|
785
752
|
['lastEdited', 4],
|
786
753
|
['lowestEdited', 4],
|
787
754
|
['rupBuild', 4505]
|
788
755
|
]
|
789
756
|
|
790
|
-
if @vba_project
|
791
|
-
attributes << [:codeName, '{37E998C4-C9E5-D4B9-71C8-EB1FF731991C}']
|
792
|
-
end
|
757
|
+
attributes << [:codeName, '{37E998C4-C9E5-D4B9-71C8-EB1FF731991C}'] if @vba_project
|
793
758
|
|
794
759
|
@writer.empty_tag('fileVersion', attributes)
|
795
760
|
end
|
@@ -798,14 +763,14 @@ module Writexlsx
|
|
798
763
|
# Write the <fileSharing> element.
|
799
764
|
#
|
800
765
|
def write_file_sharing
|
801
|
-
return
|
766
|
+
return unless ptrue?(@read_only)
|
802
767
|
|
803
768
|
attributes = []
|
804
769
|
attributes << ['readOnlyRecommended', 1]
|
805
770
|
@writer.empty_tag('fileSharing', attributes)
|
806
771
|
end
|
807
772
|
|
808
|
-
def write_workbook_pr
|
773
|
+
def write_workbook_pr # :nodoc:
|
809
774
|
attributes = []
|
810
775
|
attributes << ['codeName', @vba_codename] if ptrue?(@vba_codename)
|
811
776
|
attributes << ['date1904', 1] if date_1904?
|
@@ -813,38 +778,32 @@ module Writexlsx
|
|
813
778
|
@writer.empty_tag('workbookPr', attributes)
|
814
779
|
end
|
815
780
|
|
816
|
-
def write_book_views
|
781
|
+
def write_book_views # :nodoc:
|
817
782
|
@writer.tag_elements('bookViews') { write_workbook_view }
|
818
783
|
end
|
819
784
|
|
820
|
-
def write_workbook_view
|
785
|
+
def write_workbook_view # :nodoc:
|
821
786
|
attributes = [
|
822
787
|
['xWindow', @x_window],
|
823
788
|
['yWindow', @y_window],
|
824
789
|
['windowWidth', @window_width],
|
825
790
|
['windowHeight', @window_height]
|
826
791
|
]
|
827
|
-
if @tab_ratio != 600
|
828
|
-
|
829
|
-
|
830
|
-
if @firstsheet > 0
|
831
|
-
attributes << ['firstSheet', @firstsheet + 1]
|
832
|
-
end
|
833
|
-
if @activesheet > 0
|
834
|
-
attributes << ['activeTab', @activesheet]
|
835
|
-
end
|
792
|
+
attributes << ['tabRatio', @tab_ratio] if @tab_ratio != 600
|
793
|
+
attributes << ['firstSheet', @firstsheet + 1] if @firstsheet > 0
|
794
|
+
attributes << ['activeTab', @activesheet] if @activesheet > 0
|
836
795
|
@writer.empty_tag('workbookView', attributes)
|
837
796
|
end
|
838
797
|
|
839
|
-
def write_calc_pr
|
840
|
-
attributes = [
|
798
|
+
def write_calc_pr # :nodoc:
|
799
|
+
attributes = [['calcId', @calc_id]]
|
841
800
|
|
842
801
|
case @calc_mode
|
843
802
|
when 'manual'
|
844
|
-
attributes << [
|
803
|
+
attributes << %w[calcMode manual]
|
845
804
|
attributes << ['calcOnSave', 0]
|
846
805
|
when 'autoNoTable'
|
847
|
-
attributes << [
|
806
|
+
attributes << %w[calcMode autoNoTable]
|
848
807
|
end
|
849
808
|
|
850
809
|
attributes << ['fullCalcOnLoad', 1] if @calc_on_load
|
@@ -852,11 +811,11 @@ module Writexlsx
|
|
852
811
|
@writer.empty_tag('calcPr', attributes)
|
853
812
|
end
|
854
813
|
|
855
|
-
def write_ext_lst
|
814
|
+
def write_ext_lst # :nodoc:
|
856
815
|
@writer.tag_elements('extLst') { write_ext }
|
857
816
|
end
|
858
817
|
|
859
|
-
def write_ext
|
818
|
+
def write_ext # :nodoc:
|
860
819
|
attributes = [
|
861
820
|
['xmlns:mx', "#{OFFICE_URL}mac/excel/2008/main"],
|
862
821
|
['uri', uri]
|
@@ -864,41 +823,42 @@ module Writexlsx
|
|
864
823
|
@writer.tag_elements('ext', attributes) { write_mx_arch_id }
|
865
824
|
end
|
866
825
|
|
867
|
-
def write_mx_arch_id
|
826
|
+
def write_mx_arch_id # :nodoc:
|
868
827
|
@writer.empty_tag('mx:ArchID', ['Flags', 2])
|
869
828
|
end
|
870
829
|
|
871
|
-
def write_defined_names
|
830
|
+
def write_defined_names # :nodoc:
|
872
831
|
return unless ptrue?(@defined_names)
|
832
|
+
|
873
833
|
@writer.tag_elements('definedNames') do
|
874
834
|
@defined_names.each { |defined_name| write_defined_name(defined_name) }
|
875
835
|
end
|
876
836
|
end
|
877
837
|
|
878
|
-
def write_defined_name(defined_name)
|
838
|
+
def write_defined_name(defined_name) # :nodoc:
|
879
839
|
name, id, range, hidden = defined_name
|
880
840
|
|
881
|
-
attributes = [
|
841
|
+
attributes = [['name', name]]
|
882
842
|
attributes << ['localSheetId', "#{id}"] unless id == -1
|
883
|
-
attributes << [
|
843
|
+
attributes << %w[hidden 1] if hidden
|
884
844
|
|
885
845
|
@writer.data_element('definedName', range, attributes)
|
886
846
|
end
|
887
847
|
|
888
|
-
def write_io(str)
|
848
|
+
def write_io(str) # :nodoc:
|
889
849
|
@writer << str
|
890
850
|
str
|
891
851
|
end
|
892
852
|
|
893
853
|
# for test
|
894
|
-
def defined_names
|
854
|
+
def defined_names # :nodoc:
|
895
855
|
@defined_names ||= []
|
896
856
|
end
|
897
857
|
|
898
858
|
#
|
899
859
|
# Assemble worksheets into a workbook.
|
900
860
|
#
|
901
|
-
def store_workbook
|
861
|
+
def store_workbook # :nodoc:
|
902
862
|
# Add a default worksheet if non have been added.
|
903
863
|
add_worksheet if @worksheets.empty?
|
904
864
|
|
@@ -909,6 +869,9 @@ module Writexlsx
|
|
909
869
|
@activesheet = @worksheets.visible_first.index if @activesheet == 0
|
910
870
|
@worksheets[@activesheet].activate
|
911
871
|
|
872
|
+
# Convert the SST strings data structure.
|
873
|
+
prepare_sst_string_data
|
874
|
+
|
912
875
|
# Prepare the worksheet VML elements such as comments and buttons.
|
913
876
|
prepare_vml_objects
|
914
877
|
# Set the defined names for the worksheets such as Print Titles.
|
@@ -954,13 +917,18 @@ module Writexlsx
|
|
954
917
|
# files
|
955
918
|
#
|
956
919
|
def parts
|
957
|
-
Dir.glob(File.join(tempdir, "**", "*"), File::FNM_DOTMATCH).select {|f| File.file?(f)}
|
920
|
+
Dir.glob(File.join(tempdir, "**", "*"), File::FNM_DOTMATCH).select { |f| File.file?(f) }
|
958
921
|
end
|
959
922
|
|
923
|
+
#
|
924
|
+
# prepare_sst_string_data
|
925
|
+
#
|
926
|
+
def prepare_sst_string_data; end
|
927
|
+
|
960
928
|
#
|
961
929
|
# Prepare all of the format properties prior to passing them to Styles.rb.
|
962
930
|
#
|
963
|
-
def prepare_format_properties
|
931
|
+
def prepare_format_properties # :nodoc:
|
964
932
|
# Separate format objects into XF and DXF formats.
|
965
933
|
prepare_formats
|
966
934
|
|
@@ -981,7 +949,7 @@ module Writexlsx
|
|
981
949
|
# Iterate through the XF Format objects and separate them into XF and DXF
|
982
950
|
# formats.
|
983
951
|
#
|
984
|
-
def prepare_formats
|
952
|
+
def prepare_formats # :nodoc:
|
985
953
|
@formats.formats.each do |format|
|
986
954
|
xf_index = format.xf_index
|
987
955
|
dxf_index = format.dxf_index
|
@@ -995,7 +963,7 @@ module Writexlsx
|
|
995
963
|
# Iterate through the XF Format objects and give them an index to non-default
|
996
964
|
# font elements.
|
997
965
|
#
|
998
|
-
def prepare_fonts
|
966
|
+
def prepare_fonts # :nodoc:
|
999
967
|
fonts = {}
|
1000
968
|
|
1001
969
|
@xf_formats.each { |format| format.set_font_info(fonts) }
|
@@ -1006,9 +974,7 @@ module Writexlsx
|
|
1006
974
|
@dxf_formats.each do |format|
|
1007
975
|
# The only font properties that can change for a DXF format are: color,
|
1008
976
|
# bold, italic, underline and strikethrough.
|
1009
|
-
if format.color? || format.bold? || format.italic? || format.underline? || format.strikeout?
|
1010
|
-
format.has_dxf_font(true)
|
1011
|
-
end
|
977
|
+
format.has_dxf_font(true) if format.color? || format.bold? || format.italic? || format.underline? || format.strikeout?
|
1012
978
|
end
|
1013
979
|
end
|
1014
980
|
|
@@ -1018,10 +984,10 @@ module Writexlsx
|
|
1018
984
|
#
|
1019
985
|
# User defined records start from index 0xA4.
|
1020
986
|
#
|
1021
|
-
def prepare_num_formats
|
1022
|
-
num_formats
|
1023
|
-
|
1024
|
-
|
987
|
+
def prepare_num_formats # :nodoc:
|
988
|
+
num_formats = []
|
989
|
+
unique_num_formats = {}
|
990
|
+
index = 164
|
1025
991
|
|
1026
992
|
(@xf_formats + @dxf_formats).each do |format|
|
1027
993
|
num_format = format.num_format
|
@@ -1032,9 +998,7 @@ module Writexlsx
|
|
1032
998
|
#
|
1033
999
|
if num_format.to_s =~ /^\d+$/ && num_format.to_s !~ /^0+\d/
|
1034
1000
|
# Number format '0' is indexed as 1 in Excel.
|
1035
|
-
if num_format == 0
|
1036
|
-
num_format = 1
|
1037
|
-
end
|
1001
|
+
num_format = 1 if num_format == 0
|
1038
1002
|
# Index to a built-in number format.
|
1039
1003
|
format.num_format_index = num_format
|
1040
1004
|
next
|
@@ -1044,28 +1008,29 @@ module Writexlsx
|
|
1044
1008
|
next
|
1045
1009
|
end
|
1046
1010
|
|
1047
|
-
if
|
1011
|
+
if unique_num_formats[num_format]
|
1048
1012
|
# Number format has already been used.
|
1049
|
-
format.num_format_index =
|
1013
|
+
format.num_format_index = unique_num_formats[num_format]
|
1050
1014
|
else
|
1051
1015
|
# Add a new number format.
|
1052
|
-
|
1016
|
+
unique_num_formats[num_format] = index
|
1053
1017
|
format.num_format_index = index
|
1054
1018
|
index += 1
|
1055
1019
|
|
1056
|
-
# Only increase
|
1057
|
-
|
1020
|
+
# Only store/increase number format count for XF formats
|
1021
|
+
# (not for DXF formats).
|
1022
|
+
num_formats << num_format if ptrue?(format.xf_index)
|
1058
1023
|
end
|
1059
1024
|
end
|
1060
1025
|
|
1061
|
-
@
|
1026
|
+
@num_formats = num_formats
|
1062
1027
|
end
|
1063
1028
|
|
1064
1029
|
#
|
1065
1030
|
# Iterate through the XF Format objects and give them an index to non-default
|
1066
1031
|
# border elements.
|
1067
1032
|
#
|
1068
|
-
def prepare_borders
|
1033
|
+
def prepare_borders # :nodoc:
|
1069
1034
|
borders = {}
|
1070
1035
|
|
1071
1036
|
@xf_formats.each { |format| format.set_border_info(borders) }
|
@@ -1086,7 +1051,7 @@ module Writexlsx
|
|
1086
1051
|
# The user defined fill properties start from 2 since there are 2 default
|
1087
1052
|
# fills: patternType="none" and patternType="gray125".
|
1088
1053
|
#
|
1089
|
-
def prepare_fills
|
1054
|
+
def prepare_fills # :nodoc:
|
1090
1055
|
fills = {}
|
1091
1056
|
index = 2 # Start from 2. See above.
|
1092
1057
|
|
@@ -1096,11 +1061,11 @@ module Writexlsx
|
|
1096
1061
|
|
1097
1062
|
# Store the DXF colors separately since them may be reversed below.
|
1098
1063
|
@dxf_formats.each do |format|
|
1099
|
-
|
1100
|
-
|
1101
|
-
|
1102
|
-
|
1103
|
-
|
1064
|
+
next unless format.pattern != 0 || format.bg_color != 0 || format.fg_color != 0
|
1065
|
+
|
1066
|
+
format.has_dxf_fill(true)
|
1067
|
+
format.dxf_bg_color = format.bg_color
|
1068
|
+
format.dxf_fg_color = format.fg_color
|
1104
1069
|
end
|
1105
1070
|
|
1106
1071
|
@xf_formats.each do |format|
|
@@ -1154,7 +1119,7 @@ module Writexlsx
|
|
1154
1119
|
# any user defined names. Stores the defined names for the Workbook.xml and
|
1155
1120
|
# the named ranges for App.xml.
|
1156
1121
|
#
|
1157
|
-
def prepare_defined_names
|
1122
|
+
def prepare_defined_names # :nodoc:
|
1158
1123
|
@worksheets.each do |sheet|
|
1159
1124
|
# Check for Print Area settings.
|
1160
1125
|
if sheet.autofilter_area
|
@@ -1167,7 +1132,7 @@ module Writexlsx
|
|
1167
1132
|
end
|
1168
1133
|
|
1169
1134
|
# Check for Print Area settings.
|
1170
|
-
|
1135
|
+
unless sheet.print_area.empty?
|
1171
1136
|
@defined_names << [
|
1172
1137
|
'_xlnm.Print_Area',
|
1173
1138
|
sheet.index,
|
@@ -1176,26 +1141,26 @@ module Writexlsx
|
|
1176
1141
|
end
|
1177
1142
|
|
1178
1143
|
# Check for repeat rows/cols. aka, Print Titles.
|
1179
|
-
|
1180
|
-
if !sheet.print_repeat_cols.empty? && !sheet.print_repeat_rows.empty?
|
1181
|
-
range = sheet.print_repeat_cols + ',' + sheet.print_repeat_rows
|
1182
|
-
else
|
1183
|
-
range = sheet.print_repeat_cols + sheet.print_repeat_rows
|
1184
|
-
end
|
1144
|
+
next unless !sheet.print_repeat_cols.empty? || !sheet.print_repeat_rows.empty?
|
1185
1145
|
|
1186
|
-
|
1187
|
-
|
1188
|
-
|
1146
|
+
range = if !sheet.print_repeat_cols.empty? && !sheet.print_repeat_rows.empty?
|
1147
|
+
sheet.print_repeat_cols + ',' + sheet.print_repeat_rows
|
1148
|
+
else
|
1149
|
+
sheet.print_repeat_cols + sheet.print_repeat_rows
|
1150
|
+
end
|
1151
|
+
|
1152
|
+
# Store the defined names.
|
1153
|
+
@defined_names << ['_xlnm.Print_Titles', sheet.index, range]
|
1189
1154
|
end
|
1190
1155
|
|
1191
|
-
@defined_names
|
1156
|
+
@defined_names = sort_defined_names(@defined_names)
|
1192
1157
|
@named_ranges = extract_named_ranges(@defined_names)
|
1193
1158
|
end
|
1194
1159
|
|
1195
1160
|
#
|
1196
1161
|
# Iterate through the worksheets and set up the VML objects.
|
1197
1162
|
#
|
1198
|
-
def prepare_vml_objects
|
1163
|
+
def prepare_vml_objects # :nodoc:
|
1199
1164
|
comment_id = 0
|
1200
1165
|
vml_drawing_id = 0
|
1201
1166
|
vml_data_id = 1
|
@@ -1206,6 +1171,7 @@ module Writexlsx
|
|
1206
1171
|
|
1207
1172
|
@worksheets.each do |sheet|
|
1208
1173
|
next if !sheet.has_vml? && !sheet.has_header_vml?
|
1174
|
+
|
1209
1175
|
if sheet.has_vml?
|
1210
1176
|
if sheet.has_comments?
|
1211
1177
|
comment_files += 1
|
@@ -1220,8 +1186,8 @@ module Writexlsx
|
|
1220
1186
|
)
|
1221
1187
|
|
1222
1188
|
# Each VML file should start with a shape id incremented by 1024.
|
1223
|
-
vml_data_id
|
1224
|
-
vml_shape_id += 1024 * (
|
1189
|
+
vml_data_id += 1 * (1 + sheet.num_comments_block)
|
1190
|
+
vml_shape_id += 1024 * (1 + sheet.num_comments_block)
|
1225
1191
|
end
|
1226
1192
|
|
1227
1193
|
if sheet.has_header_vml?
|
@@ -1234,17 +1200,13 @@ module Writexlsx
|
|
1234
1200
|
# has a vbaProject binary.
|
1235
1201
|
unless sheet.buttons_data.empty?
|
1236
1202
|
has_button = true
|
1237
|
-
if @vba_project && !sheet.vba_codename
|
1238
|
-
sheet.set_vba_name
|
1239
|
-
end
|
1203
|
+
sheet.set_vba_name if @vba_project && !sheet.vba_codename
|
1240
1204
|
end
|
1241
1205
|
end
|
1242
1206
|
|
1243
1207
|
# Set the workbook vba_codename if one of the sheets has a button and
|
1244
1208
|
# the workbook has a vbaProject binary.
|
1245
|
-
if has_button && @vba_project && !@vba_codename
|
1246
|
-
set_vba_name
|
1247
|
-
end
|
1209
|
+
set_vba_name if has_button && @vba_project && !@vba_codename
|
1248
1210
|
end
|
1249
1211
|
|
1250
1212
|
#
|
@@ -1275,7 +1237,7 @@ module Writexlsx
|
|
1275
1237
|
# Add "cached" data to charts to provide the numCache and strCache data for
|
1276
1238
|
# series and title/axis ranges.
|
1277
1239
|
#
|
1278
|
-
def add_chart_data
|
1240
|
+
def add_chart_data # :nodoc:
|
1279
1241
|
worksheets = {}
|
1280
1242
|
seen_ranges = {}
|
1281
1243
|
|
@@ -1283,8 +1245,8 @@ module Writexlsx
|
|
1283
1245
|
@worksheets.each { |worksheet| worksheets[worksheet.name] = worksheet }
|
1284
1246
|
|
1285
1247
|
# Build an array of the worksheet charts including any combined charts.
|
1286
|
-
@charts.collect { |chart| [chart, chart.combined] }.flatten.compact
|
1287
|
-
|
1248
|
+
@charts.collect { |chart| [chart, chart.combined] }.flatten.compact
|
1249
|
+
.each do |chart|
|
1288
1250
|
chart.formula_ids.each do |range, id|
|
1289
1251
|
# Skip if the series has user defined data.
|
1290
1252
|
if chart.formula_data[id]
|
@@ -1312,9 +1274,7 @@ module Writexlsx
|
|
1312
1274
|
|
1313
1275
|
# Raise if the name is unknown since it indicates a user error in
|
1314
1276
|
# a chart series formula.
|
1315
|
-
unless worksheets[sheetname]
|
1316
|
-
raise "Unknown worksheet reference '#{sheetname} in range '#{range}' passed to add_series()\n"
|
1317
|
-
end
|
1277
|
+
raise "Unknown worksheet reference '#{sheetname} in range '#{range}' passed to add_series()\n" unless worksheets[sheetname]
|
1318
1278
|
|
1319
1279
|
# Add the data to the chart.
|
1320
1280
|
# And store range data locally to avoid lookup if seen agein.
|
@@ -1330,11 +1290,11 @@ module Writexlsx
|
|
1330
1290
|
|
1331
1291
|
# Convert shared string indexes to strings.
|
1332
1292
|
data.collect do |token|
|
1333
|
-
if token.
|
1293
|
+
if token.is_a?(Hash)
|
1334
1294
|
string = @shared_strings.string(token[:sst_id])
|
1335
1295
|
|
1336
1296
|
# Ignore rich strings for now. Deparse later if necessary.
|
1337
|
-
if string =~
|
1297
|
+
if string =~ /^<r>/ && string =~ %r{</r>$}
|
1338
1298
|
''
|
1339
1299
|
else
|
1340
1300
|
string
|
@@ -1351,7 +1311,7 @@ module Writexlsx
|
|
1351
1311
|
# issues in the the Spreadsheet::WriteExcel binary version. Also makes
|
1352
1312
|
# comparison testing easier.
|
1353
1313
|
#
|
1354
|
-
def sort_defined_names(names)
|
1314
|
+
def sort_defined_names(names) # :nodoc:
|
1355
1315
|
names.sort do |a, b|
|
1356
1316
|
name_a = normalise_defined_name(a[0])
|
1357
1317
|
name_b = normalise_defined_name(b[0])
|
@@ -1362,26 +1322,24 @@ module Writexlsx
|
|
1362
1322
|
1
|
1363
1323
|
elsif name_a < name_b
|
1364
1324
|
-1
|
1365
|
-
|
1366
|
-
|
1367
|
-
|
1368
|
-
|
1369
|
-
|
1370
|
-
-1
|
1371
|
-
end
|
1325
|
+
elsif sheet_a >= sheet_b # name_a == name_b
|
1326
|
+
# Secondary sort based on the sheet name.
|
1327
|
+
1
|
1328
|
+
else
|
1329
|
+
-1
|
1372
1330
|
end
|
1373
1331
|
end
|
1374
1332
|
end
|
1375
1333
|
|
1376
1334
|
# Used in the above sort routine to normalise the defined names. Removes any
|
1377
1335
|
# leading '_xmln.' from internal names and lowercases the strings.
|
1378
|
-
def normalise_defined_name(name)
|
1336
|
+
def normalise_defined_name(name) # :nodoc:
|
1379
1337
|
name.sub(/^_xlnm./, '').downcase
|
1380
1338
|
end
|
1381
1339
|
|
1382
1340
|
# Used in the above sort routine to normalise the worksheet names for the
|
1383
1341
|
# secondary sort. Removes leading quote and lowercases the strings.
|
1384
|
-
def normalise_sheet_name(name)
|
1342
|
+
def normalise_sheet_name(name) # :nodoc:
|
1385
1343
|
name.sub(/^'/, '').downcase
|
1386
1344
|
end
|
1387
1345
|
|
@@ -1389,7 +1347,7 @@ module Writexlsx
|
|
1389
1347
|
# Extract the named ranges from the sorted list of defined names. These are
|
1390
1348
|
# used in the App.xml file.
|
1391
1349
|
#
|
1392
|
-
def extract_named_ranges(defined_names)
|
1350
|
+
def extract_named_ranges(defined_names) # :nodoc:
|
1393
1351
|
named_ranges = []
|
1394
1352
|
|
1395
1353
|
defined_names.each do |defined_name|
|
@@ -1399,19 +1357,19 @@ module Writexlsx
|
|
1399
1357
|
next if name == '_xlnm._FilterDatabase'
|
1400
1358
|
|
1401
1359
|
# We are only interested in defined names with ranges.
|
1402
|
-
|
1403
|
-
|
1404
|
-
|
1405
|
-
# Match Print_Area and Print_Titles xlnm types.
|
1406
|
-
if name =~ /^_xlnm\.(.*)$/
|
1407
|
-
xlnm_type = $1
|
1408
|
-
name = "#{sheet_name}!#{xlnm_type}"
|
1409
|
-
elsif index != -1
|
1410
|
-
name = "#{sheet_name}!#{name}"
|
1411
|
-
end
|
1360
|
+
next unless range =~ /^([^!]+)!/
|
1361
|
+
|
1362
|
+
sheet_name = ::Regexp.last_match(1)
|
1412
1363
|
|
1413
|
-
|
1364
|
+
# Match Print_Area and Print_Titles xlnm types.
|
1365
|
+
if name =~ /^_xlnm\.(.*)$/
|
1366
|
+
xlnm_type = ::Regexp.last_match(1)
|
1367
|
+
name = "#{sheet_name}!#{xlnm_type}"
|
1368
|
+
elsif index != -1
|
1369
|
+
name = "#{sheet_name}!#{name}"
|
1414
1370
|
end
|
1371
|
+
|
1372
|
+
named_ranges << name
|
1415
1373
|
end
|
1416
1374
|
|
1417
1375
|
named_ranges
|
@@ -1420,7 +1378,7 @@ module Writexlsx
|
|
1420
1378
|
#
|
1421
1379
|
# Iterate through the worksheets and set up any chart or image drawings.
|
1422
1380
|
#
|
1423
|
-
def prepare_drawings
|
1381
|
+
def prepare_drawings # :nodoc:
|
1424
1382
|
chart_ref_id = 0
|
1425
1383
|
image_ref_id = 0
|
1426
1384
|
drawing_id = 0
|
@@ -1481,13 +1439,13 @@ module Writexlsx
|
|
1481
1439
|
end
|
1482
1440
|
|
1483
1441
|
# Prepare the worksheet charts.
|
1484
|
-
sheet.charts.each_with_index do |
|
1442
|
+
sheet.charts.each_with_index do |_chart, index|
|
1485
1443
|
chart_ref_id += 1
|
1486
1444
|
sheet.prepare_chart(index, chart_ref_id, drawing_id)
|
1487
1445
|
end
|
1488
1446
|
|
1489
1447
|
# Prepare the worksheet shapes.
|
1490
|
-
sheet.shapes.each_with_index do |
|
1448
|
+
sheet.shapes.each_with_index do |_shape, index|
|
1491
1449
|
sheet.prepare_shape(index, drawing_id)
|
1492
1450
|
end
|
1493
1451
|
|
@@ -1543,8 +1501,8 @@ module Writexlsx
|
|
1543
1501
|
|
1544
1502
|
# Sort the workbook charts references into the order that the were
|
1545
1503
|
# written from the worksheets above.
|
1546
|
-
@charts = @charts.select { |chart| chart.id != -1 }
|
1547
|
-
|
1504
|
+
@charts = @charts.select { |chart| chart.id != -1 }
|
1505
|
+
.sort_by { |chart| chart.id }
|
1548
1506
|
|
1549
1507
|
@drawing_count = drawing_id
|
1550
1508
|
end
|
@@ -1562,19 +1520,19 @@ module Writexlsx
|
|
1562
1520
|
# Open the image file and import the data.
|
1563
1521
|
data = File.binread(filename)
|
1564
1522
|
md5 = Digest::MD5.hexdigest(data)
|
1565
|
-
if data.
|
1523
|
+
if data.unpack1('x A3') == 'PNG'
|
1566
1524
|
# Test for PNGs.
|
1567
1525
|
type, width, height, x_dpi, y_dpi = process_png(data)
|
1568
1526
|
@image_types[:png] = 1
|
1569
|
-
elsif data.
|
1527
|
+
elsif data.unpack1('n') == 0xFFD8
|
1570
1528
|
# Test for JPEG files.
|
1571
1529
|
type, width, height, x_dpi, y_dpi = process_jpg(data, filename)
|
1572
1530
|
@image_types[:jpeg] = 1
|
1573
|
-
elsif data.
|
1531
|
+
elsif data.unpack1('A4') == 'GIF8'
|
1574
1532
|
# Test for GIFs.
|
1575
1533
|
type, width, height, x_dpi, y_dpi = process_gif(data, filename)
|
1576
1534
|
@image_types[:gif] = 1
|
1577
|
-
elsif data.
|
1535
|
+
elsif data.unpack1('A2') == 'BM'
|
1578
1536
|
# Test for BMPs.
|
1579
1537
|
type, width, height = process_bmp(data, filename)
|
1580
1538
|
@image_types[:bmp] = 1
|
@@ -1607,17 +1565,17 @@ module Writexlsx
|
|
1607
1565
|
# IHDR element. Also read the DPI in the pHYs element.
|
1608
1566
|
while offset < data_length
|
1609
1567
|
|
1610
|
-
length = data[offset + 0, 4].
|
1611
|
-
png_type = data[offset + 4, 4].
|
1568
|
+
length = data[offset + 0, 4].unpack1("N")
|
1569
|
+
png_type = data[offset + 4, 4].unpack1("A4")
|
1612
1570
|
|
1613
1571
|
case png_type
|
1614
1572
|
when "IHDR"
|
1615
|
-
width = data[offset +
|
1616
|
-
height = data[offset + 12, 4].
|
1573
|
+
width = data[offset + 8, 4].unpack1("N")
|
1574
|
+
height = data[offset + 12, 4].unpack1("N")
|
1617
1575
|
when "pHYs"
|
1618
|
-
x_ppu = data[offset + 8, 4].
|
1619
|
-
y_ppu = data[offset + 12, 4].
|
1620
|
-
units = data[offset + 16, 1].
|
1576
|
+
x_ppu = data[offset + 8, 4].unpack1("N")
|
1577
|
+
y_ppu = data[offset + 12, 4].unpack1("N")
|
1578
|
+
units = data[offset + 16, 1].unpack1("C")
|
1621
1579
|
|
1622
1580
|
if units == 1
|
1623
1581
|
x_dpi = x_ppu * 0.0254
|
@@ -1644,22 +1602,22 @@ module Writexlsx
|
|
1644
1602
|
|
1645
1603
|
# Search through the image data to read the JPEG markers.
|
1646
1604
|
while offset < data_length
|
1647
|
-
marker = data[offset+0, 2].
|
1648
|
-
length = data[offset+2, 2].
|
1605
|
+
marker = data[offset + 0, 2].unpack1("n")
|
1606
|
+
length = data[offset + 2, 2].unpack1("n")
|
1649
1607
|
|
1650
1608
|
# Read the height and width in the 0xFFCn elements
|
1651
1609
|
# (Except C4, C8 and CC which aren't SOF markers).
|
1652
1610
|
if (marker & 0xFFF0) == 0xFFC0 &&
|
1653
1611
|
marker != 0xFFC4 && marker != 0xFFCC
|
1654
|
-
height = data[offset+5, 2].
|
1655
|
-
width = data[offset+7, 2].
|
1612
|
+
height = data[offset + 5, 2].unpack1("n")
|
1613
|
+
width = data[offset + 7, 2].unpack1("n")
|
1656
1614
|
end
|
1657
1615
|
|
1658
1616
|
# Read the DPI in the 0xFFE0 element.
|
1659
1617
|
if marker == 0xFFE0
|
1660
|
-
units = data[offset + 11, 1].
|
1661
|
-
x_density = data[offset + 12, 2].
|
1662
|
-
y_density = data[offset + 14, 2].
|
1618
|
+
units = data[offset + 11, 1].unpack1("C")
|
1619
|
+
x_density = data[offset + 12, 2].unpack1("n")
|
1620
|
+
y_density = data[offset + 14, 2].unpack1("n")
|
1663
1621
|
|
1664
1622
|
if units == 1
|
1665
1623
|
x_dpi = x_density
|
@@ -1675,6 +1633,7 @@ module Writexlsx
|
|
1675
1633
|
end
|
1676
1634
|
|
1677
1635
|
raise "#{filename}: no size data found in jpeg image.\n" unless height
|
1636
|
+
|
1678
1637
|
[type, width, height, x_dpi, y_dpi]
|
1679
1638
|
end
|
1680
1639
|
|
@@ -1686,18 +1645,16 @@ module Writexlsx
|
|
1686
1645
|
x_dpi = 96
|
1687
1646
|
y_dpi = 96
|
1688
1647
|
|
1689
|
-
width = data[6, 2].
|
1690
|
-
height = data[8, 2].
|
1648
|
+
width = data[6, 2].unpack1("v")
|
1649
|
+
height = data[8, 2].unpack1("v")
|
1691
1650
|
|
1692
|
-
if height.nil?
|
1693
|
-
raise "#{filename}: no size data found in gif image.\n"
|
1694
|
-
end
|
1651
|
+
raise "#{filename}: no size data found in gif image.\n" if height.nil?
|
1695
1652
|
|
1696
1653
|
[type, width, height, x_dpi, y_dpi]
|
1697
1654
|
end
|
1698
1655
|
|
1699
1656
|
# Extract width and height information from a BMP file.
|
1700
|
-
def process_bmp(data, filename)
|
1657
|
+
def process_bmp(data, filename) # :nodoc:
|
1701
1658
|
type = 'bmp'
|
1702
1659
|
|
1703
1660
|
# Check that the file is big enough to be a bitmap.
|
@@ -1714,8 +1671,9 @@ module Writexlsx
|
|
1714
1671
|
raise "#{filename}: only 1 plane supported in bitmap image." unless planes == 1
|
1715
1672
|
|
1716
1673
|
# Read the bitmap compression. Verify compression.
|
1717
|
-
compression = data.
|
1674
|
+
compression = data.unpack1("x30 V")
|
1718
1675
|
raise "#{filename}: compression not supported in bitmap image." unless compression == 0
|
1676
|
+
|
1719
1677
|
[type, width, height]
|
1720
1678
|
end
|
1721
1679
|
end
|