write_xlsx 0.0.4 → 0.51.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +4 -2
- data/README.rdoc +14 -12
- data/Rakefile +8 -8
- data/VERSION +1 -1
- data/examples/chart_secondary_axis.rb +55 -0
- data/examples/date_time.rb +84 -0
- data/examples/panes.rb +108 -0
- data/examples/regions.rb +49 -0
- data/examples/shape1.rb +36 -0
- data/examples/shape2.rb +53 -0
- data/examples/shape3.rb +32 -0
- data/examples/shape4.rb +55 -0
- data/examples/shape5.rb +48 -0
- data/examples/shape6.rb +48 -0
- data/examples/shape7.rb +74 -0
- data/examples/shape8.rb +73 -0
- data/examples/shape_all.rb +241 -0
- data/examples/stats.rb +69 -0
- data/examples/stats_ext.rb +77 -0
- data/examples/stocks.rb +73 -0
- data/examples/tables.rb +360 -0
- data/lib/write_xlsx.rb +25 -1
- data/lib/write_xlsx/chart.rb +656 -260
- data/lib/write_xlsx/chart/area.rb +41 -7
- data/lib/write_xlsx/chart/bar.rb +16 -17
- data/lib/write_xlsx/chart/column.rb +5 -15
- data/lib/write_xlsx/chart/line.rb +15 -6
- data/lib/write_xlsx/chart/pie.rb +7 -21
- data/lib/write_xlsx/chart/scatter.rb +90 -20
- data/lib/write_xlsx/chart/stock.rb +24 -43
- data/lib/write_xlsx/chartsheet.rb +29 -11
- data/lib/write_xlsx/drawing.rb +354 -35
- data/lib/write_xlsx/format.rb +72 -21
- data/lib/write_xlsx/package/app.rb +2 -5
- data/lib/write_xlsx/package/comments.rb +5 -1
- data/lib/write_xlsx/package/content_types.rb +10 -0
- data/lib/write_xlsx/package/packager.rb +41 -7
- data/lib/write_xlsx/package/relationships.rb +1 -1
- data/lib/write_xlsx/package/shared_strings.rb +36 -8
- data/lib/write_xlsx/package/styles.rb +12 -9
- data/lib/write_xlsx/package/table.rb +194 -0
- data/lib/write_xlsx/package/vml.rb +26 -27
- data/lib/write_xlsx/package/xml_writer_simple.rb +25 -4
- data/lib/write_xlsx/shape.rb +172 -0
- data/lib/write_xlsx/utility.rb +20 -0
- data/lib/write_xlsx/workbook.rb +499 -141
- data/lib/write_xlsx/worksheet.rb +1162 -153
- data/test/chart/test_add_series.rb +43 -4
- data/test/chart/test_write_d_lbls.rb +274 -0
- data/test/chart/test_write_major_gridlines.rb +1 -1
- data/test/chartsheet/test_chartsheet01.rb +31 -0
- data/test/drawing/test_drawing_shape_01.rb +68 -0
- data/test/drawing/test_drawing_shape_02.rb +73 -0
- data/test/drawing/test_drawing_shape_03.rb +38 -0
- data/test/drawing/test_drawing_shape_04.rb +121 -0
- data/test/drawing/test_drawing_shape_05.rb +45 -0
- data/test/drawing/test_drawing_shape_06.rb +42 -0
- data/test/drawing/test_drawing_shape_07.rb +47 -0
- data/test/drawing/test_write_a_graphic_frame_locks.rb +18 -0
- data/test/drawing/test_write_c_chart.rb +18 -0
- data/test/drawing/test_write_c_nv_graphic_frame_pr.rb +28 -0
- data/test/drawing/test_write_c_nv_pr.rb +18 -0
- data/test/drawing/test_write_col.rb +18 -0
- data/test/drawing/test_write_col_off.rb +18 -0
- data/test/drawing/test_write_ext.rb +18 -0
- data/test/drawing/test_write_pos.rb +18 -0
- data/test/drawing/test_write_row.rb +18 -0
- data/test/drawing/test_write_row_off.rb +18 -0
- data/test/drawing/test_write_xfrm_extension.rb +18 -0
- data/test/drawing/test_write_xfrm_offset.rb +18 -0
- data/test/helper.rb +93 -50
- data/test/package/shared_strings/test_write_si.rb +10 -1
- data/test/package/table/test_table01.rb +42 -0
- data/test/package/table/test_table02.rb +44 -0
- data/test/package/table/test_table03.rb +48 -0
- data/test/package/table/test_table04.rb +46 -0
- data/test/package/table/test_table05.rb +46 -0
- data/test/package/table/test_table06.rb +52 -0
- data/test/package/table/test_table07.rb +47 -0
- data/test/package/table/test_table08.rb +53 -0
- data/test/package/table/test_table09.rb +65 -0
- data/test/package/table/test_table10.rb +45 -0
- data/test/package/table/test_table11.rb +60 -0
- data/test/package/table/test_table12.rb +60 -0
- data/test/package/table/test_write_auto_filter.rb +16 -0
- data/test/package/table/test_write_table_column.rb +15 -0
- data/test/package/table/test_write_table_style_info.rb +25 -0
- data/test/package/table/test_write_xml_declaration.rb +15 -0
- data/test/perl_output/a_simple.xlsx +0 -0
- data/test/perl_output/array_formula.xlsx +0 -0
- data/test/perl_output/chart_secondary_axis.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/demo.xlsx +0 -0
- data/test/perl_output/formats.xlsx +0 -0
- data/test/perl_output/headers.xlsx +0 -0
- data/test/perl_output/outline_collapsed.xlsx +0 -0
- data/test/perl_output/panes.xlsx +0 -0
- data/test/perl_output/regions.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/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/tables.xlsx +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/red.bmp +0 -0
- data/test/regression/images/red.jpg +0 -0
- data/test/regression/images/red.png +0 -0
- data/test/regression/images/yellow.jpg +0 -0
- data/test/regression/images/yellow.png +0 -0
- data/test/regression/test_array_formula01.rb +31 -0
- data/test/regression/test_array_formula02.rb +32 -0
- data/test/regression/test_autofilter00.rb +84 -0
- data/test/regression/test_autofilter01.rb +86 -0
- data/test/regression/test_autofilter02.rb +104 -0
- data/test/regression/test_autofilter03.rb +104 -0
- data/test/regression/test_autofilter04.rb +107 -0
- data/test/regression/test_autofilter05.rb +108 -0
- data/test/regression/test_autofilter06.rb +108 -0
- data/test/regression/test_autofilter07.rb +107 -0
- data/test/regression/test_chart_area01.rb +45 -0
- data/test/regression/test_chart_area02.rb +45 -0
- data/test/regression/test_chart_area03.rb +45 -0
- data/test/regression/test_chart_axis01.rb +46 -0
- data/test/regression/test_chart_axis02.rb +46 -0
- data/test/regression/test_chart_axis03.rb +68 -0
- data/test/regression/test_chart_axis04.rb +53 -0
- data/test/regression/test_chart_axis05.rb +48 -0
- data/test/regression/test_chart_axis06.rb +50 -0
- data/test/regression/test_chart_axis07.rb +54 -0
- data/test/regression/test_chart_axis08.rb +53 -0
- data/test/regression/test_chart_axis09.rb +47 -0
- data/test/regression/test_chart_axis10.rb +53 -0
- data/test/regression/test_chart_axis11.rb +47 -0
- data/test/regression/test_chart_axis12.rb +47 -0
- data/test/regression/test_chart_axis13.rb +53 -0
- data/test/regression/test_chart_axis14.rb +67 -0
- data/test/regression/test_chart_axis15.rb +48 -0
- data/test/regression/test_chart_axis16.rb +70 -0
- data/test/regression/test_chart_axis17.rb +46 -0
- data/test/regression/test_chart_axis18.rb +44 -0
- data/test/regression/test_chart_axis19.rb +46 -0
- data/test/regression/test_chart_axis20.rb +46 -0
- data/test/regression/test_chart_axis21.rb +50 -0
- data/test/regression/test_chart_bar01.rb +44 -0
- data/test/regression/test_chart_bar02.rb +55 -0
- data/test/regression/test_chart_bar03.rb +67 -0
- data/test/regression/test_chart_bar04.rb +70 -0
- data/test/regression/test_chart_bar05.rb +43 -0
- data/test/regression/test_chart_bar06.rb +50 -0
- data/test/regression/test_chart_bar07.rb +54 -0
- data/test/regression/test_chart_bar08.rb +44 -0
- data/test/regression/test_chart_bar09.rb +43 -0
- data/test/regression/test_chart_bar10.rb +47 -0
- data/test/regression/test_chart_bar11.rb +71 -0
- data/test/regression/test_chart_bar12.rb +43 -0
- data/test/regression/test_chart_bar13.rb +53 -0
- data/test/regression/test_chart_bar14.rb +63 -0
- data/test/regression/test_chart_bar15.rb +53 -0
- data/test/regression/test_chart_bar16.rb +51 -0
- data/test/regression/test_chart_bar17.rb +47 -0
- data/test/regression/test_chart_bar18.rb +58 -0
- data/test/regression/test_chart_bar19.rb +50 -0
- data/test/regression/test_chart_bar20.rb +47 -0
- data/test/regression/test_chart_bar21.rb +53 -0
- data/test/regression/test_chart_bar22.rb +68 -0
- data/test/regression/test_chart_bar23.rb +62 -0
- data/test/regression/test_chart_bar24.rb +46 -0
- data/test/regression/test_chart_blank01.rb +41 -0
- data/test/regression/test_chart_blank02.rb +41 -0
- data/test/regression/test_chart_blank03.rb +41 -0
- data/test/regression/test_chart_blank04.rb +41 -0
- data/test/regression/test_chart_blank05.rb +46 -0
- data/test/regression/test_chart_blank06.rb +41 -0
- data/test/regression/test_chart_column01.rb +43 -0
- data/test/regression/test_chart_column02.rb +45 -0
- data/test/regression/test_chart_column03.rb +45 -0
- data/test/regression/test_chart_column04.rb +45 -0
- data/test/regression/test_chart_column05.rb +39 -0
- data/test/regression/test_chart_column06.rb +46 -0
- data/test/regression/test_chart_crossing01.rb +50 -0
- data/test/regression/test_chart_crossing02.rb +48 -0
- data/test/regression/test_chart_crossing03.rb +53 -0
- data/test/regression/test_chart_crossing04.rb +53 -0
- data/test/regression/test_chart_format01.rb +44 -0
- data/test/regression/test_chart_format02.rb +45 -0
- data/test/regression/test_chart_format03.rb +46 -0
- data/test/regression/test_chart_format04.rb +45 -0
- data/test/regression/test_chart_format05.rb +45 -0
- data/test/regression/test_chart_format06.rb +52 -0
- data/test/regression/test_chart_format07.rb +57 -0
- data/test/regression/test_chart_format08.rb +52 -0
- data/test/regression/test_chart_format09.rb +56 -0
- data/test/regression/test_chart_format10.rb +59 -0
- data/test/regression/test_chart_format11.rb +63 -0
- data/test/regression/test_chart_format12.rb +60 -0
- data/test/regression/test_chart_format13.rb +52 -0
- data/test/regression/test_chart_format14.rb +56 -0
- data/test/regression/test_chart_format15.rb +54 -0
- data/test/regression/test_chart_format16.rb +57 -0
- data/test/regression/test_chart_format17.rb +40 -0
- data/test/regression/test_chart_format18.rb +44 -0
- data/test/regression/test_chart_line01.rb +39 -0
- data/test/regression/test_chart_line02.rb +45 -0
- data/test/regression/test_chart_name01.rb +46 -0
- data/test/regression/test_chart_name02.rb +58 -0
- data/test/regression/test_chart_name03.rb +58 -0
- data/test/regression/test_chart_pie01.rb +36 -0
- data/test/regression/test_chart_scatter01.rb +45 -0
- data/test/regression/test_chart_scatter02.rb +49 -0
- data/test/regression/test_chart_scatter03.rb +49 -0
- data/test/regression/test_chart_scatter04.rb +49 -0
- data/test/regression/test_chart_scatter05.rb +49 -0
- data/test/regression/test_chart_scatter06.rb +51 -0
- data/test/regression/test_chart_scatter07.rb +60 -0
- data/test/regression/test_chart_sparse01.rb +54 -0
- data/test/regression/test_chart_stock01.rb +72 -0
- data/test/regression/test_chart_stock02.rb +73 -0
- data/test/regression/test_chart_str01.rb +48 -0
- data/test/regression/test_chart_str02.rb +52 -0
- data/test/regression/test_chartsheet01.rb +46 -0
- data/test/regression/test_chartsheet02.rb +50 -0
- data/test/regression/test_chartsheet03.rb +48 -0
- data/test/regression/test_chartsheet04.rb +48 -0
- data/test/regression/test_chartsheet05.rb +48 -0
- data/test/regression/test_chartsheet06.rb +48 -0
- data/test/regression/test_chartsheet07.rb +57 -0
- data/test/regression/test_chartsheet08.rb +61 -0
- data/test/regression/test_chartsheet09.rb +52 -0
- data/test/regression/test_comment01.rb +27 -0
- data/test/regression/test_comment02.rb +28 -0
- data/test/regression/test_comment03.rb +32 -0
- data/test/regression/test_comment04.rb +37 -0
- data/test/regression/test_comment06.rb +34 -0
- data/test/regression/test_comment07.rb +36 -0
- data/test/regression/test_comment08.rb +36 -0
- data/test/regression/test_comment09.rb +32 -0
- data/test/regression/test_comment10.rb +31 -0
- data/test/regression/test_cond_format01.rb +46 -0
- data/test/regression/test_cond_format02.rb +41 -0
- data/test/regression/test_cond_format03.rb +52 -0
- data/test/regression/test_cond_format04.rb +51 -0
- data/test/regression/test_cond_format05.rb +41 -0
- data/test/regression/test_cond_format06.rb +45 -0
- data/test/regression/test_cond_format07.rb +62 -0
- data/test/regression/test_cond_format08.rb +46 -0
- data/test/regression/test_cond_format10.rb +43 -0
- data/test/regression/test_cond_format11.rb +47 -0
- data/test/regression/test_cond_format12.rb +47 -0
- data/test/regression/test_custom_colors01.rb +33 -0
- data/test/regression/test_date_1904_01.rb +36 -0
- data/test/regression/test_date_1904_02.rb +39 -0
- data/test/regression/test_defined_name01.rb +47 -0
- data/test/regression/test_escapes01.rb +37 -0
- data/test/regression/test_escapes02.rb +33 -0
- data/test/regression/test_escapes03.rb +34 -0
- data/test/regression/test_fit_to_pages01.rb +37 -0
- data/test/regression/test_fit_to_pages02.rb +37 -0
- data/test/regression/test_fit_to_pages03.rb +37 -0
- data/test/regression/test_fit_to_pages04.rb +37 -0
- data/test/regression/test_fit_to_pages05.rb +37 -0
- data/test/regression/test_format01.rb +35 -0
- data/test/regression/test_format02.rb +47 -0
- data/test/regression/test_format03.rb +31 -0
- data/test/regression/test_format04.rb +41 -0
- data/test/regression/test_gridlines01.rb +36 -0
- data/test/regression/test_hyperlink01.rb +23 -0
- data/test/regression/test_hyperlink02.rb +27 -0
- data/test/regression/test_hyperlink03.rb +32 -0
- data/test/regression/test_hyperlink04.rb +31 -0
- data/test/regression/test_hyperlink05.rb +26 -0
- data/test/regression/test_hyperlink06.rb +25 -0
- data/test/regression/test_hyperlink07.rb +24 -0
- data/test/regression/test_hyperlink08.rb +24 -0
- data/test/regression/test_hyperlink09.rb +25 -0
- data/test/regression/test_hyperlink10.rb +24 -0
- data/test/regression/test_hyperlink11.rb +24 -0
- data/test/regression/test_hyperlink12.rb +25 -0
- data/test/regression/test_hyperlink13.rb +24 -0
- data/test/regression/test_hyperlink14.rb +24 -0
- data/test/regression/test_hyperlink15.rb +26 -0
- data/test/regression/test_hyperlink16.rb +26 -0
- data/test/regression/test_hyperlink17.rb +27 -0
- data/test/regression/test_hyperlink18.rb +27 -0
- data/test/regression/test_image01.rb +23 -0
- data/test/regression/test_image02.rb +23 -0
- data/test/regression/test_image03.rb +23 -0
- data/test/regression/test_image04.rb +23 -0
- data/test/regression/test_image05.rb +26 -0
- data/test/regression/test_image06.rb +36 -0
- data/test/regression/test_image07.rb +25 -0
- data/test/regression/test_outline01.rb +86 -0
- data/test/regression/test_outline02.rb +89 -0
- data/test/regression/test_outline03.rb +59 -0
- data/test/regression/test_outline04.rb +55 -0
- data/test/regression/test_outline05.rb +90 -0
- data/test/regression/test_outline06.rb +89 -0
- data/test/regression/test_page_breaks01.rb +36 -0
- data/test/regression/test_page_breaks02.rb +36 -0
- data/test/regression/test_page_breaks03.rb +36 -0
- data/test/regression/test_page_breaks04.rb +36 -0
- data/test/regression/test_page_breaks05.rb +36 -0
- data/test/regression/test_page_breaks06.rb +37 -0
- data/test/regression/test_page_view01.rb +36 -0
- data/test/regression/test_panes01.rb +66 -0
- data/test/regression/test_print_across01.rb +37 -0
- data/test/regression/test_print_area01.rb +36 -0
- data/test/regression/test_print_area02.rb +36 -0
- data/test/regression/test_print_area03.rb +36 -0
- data/test/regression/test_print_area04.rb +36 -0
- data/test/regression/test_print_area05.rb +36 -0
- data/test/regression/test_print_area06.rb +36 -0
- data/test/regression/test_print_area07.rb +37 -0
- data/test/regression/test_print_options01.rb +36 -0
- data/test/regression/test_print_options02.rb +36 -0
- data/test/regression/test_print_options03.rb +36 -0
- data/test/regression/test_print_options04.rb +36 -0
- data/test/regression/test_print_options05.rb +39 -0
- data/test/regression/test_print_options06.rb +37 -0
- data/test/regression/test_print_scale01.rb +37 -0
- data/test/regression/test_print_scale02.rb +37 -0
- data/test/regression/test_properties01.rb +40 -0
- data/test/regression/test_repeat01.rb +36 -0
- data/test/regression/test_repeat02.rb +36 -0
- data/test/regression/test_repeat03.rb +37 -0
- data/test/regression/test_repeat04.rb +36 -0
- data/test/regression/test_repeat05.rb +43 -0
- data/test/regression/test_rich_string01.rb +28 -0
- data/test/regression/test_rich_string02.rb +28 -0
- data/test/regression/test_rich_string03.rb +28 -0
- data/test/regression/test_rich_string04.rb +28 -0
- data/test/regression/test_rich_string05.rb +30 -0
- data/test/regression/test_rich_string06.rb +27 -0
- data/test/regression/test_rich_string07.rb +33 -0
- data/test/regression/test_rich_string08.rb +29 -0
- data/test/regression/test_rich_string09.rb +31 -0
- data/test/regression/test_rich_string10.rb +30 -0
- data/test/regression/test_rich_string11.rb +29 -0
- data/test/regression/test_row_col_format01.rb +24 -0
- data/test/regression/test_row_col_format02.rb +25 -0
- data/test/regression/test_row_col_format03.rb +24 -0
- data/test/regression/test_row_col_format04.rb +25 -0
- data/test/regression/test_row_col_format05.rb +26 -0
- data/test/regression/test_row_col_format06.rb +29 -0
- data/test/regression/test_row_col_format07.rb +24 -0
- data/test/regression/test_row_col_format08.rb +34 -0
- data/test/regression/test_row_col_format09.rb +33 -0
- data/test/regression/test_row_col_format10.rb +24 -0
- data/test/regression/test_row_col_format11.rb +23 -0
- data/test/regression/test_row_col_format12.rb +23 -0
- data/test/regression/test_row_col_format13.rb +28 -0
- data/test/regression/test_row_col_format14.rb +28 -0
- data/test/regression/test_shape_connect01.rb +46 -0
- data/test/regression/test_shape_connect02.rb +42 -0
- data/test/regression/test_shape_connect03.rb +78 -0
- data/test/regression/test_shape_connect04.rb +75 -0
- data/test/regression/test_shape_scale01.rb +47 -0
- data/test/regression/test_shape_stencil01.rb +44 -0
- data/test/regression/test_shared_strings01.rb +34 -0
- data/test/regression/test_shared_strings02.rb +47 -0
- data/test/regression/test_simple01.rb +24 -0
- data/test/regression/test_simple02.rb +32 -0
- data/test/regression/test_tab_color01.rb +29 -0
- data/test/regression/test_table01.rb +27 -0
- data/test/regression/test_table02.rb +37 -0
- data/test/regression/test_table03.rb +30 -0
- data/test/regression/test_table04.rb +34 -0
- data/test/regression/test_table05.rb +38 -0
- data/test/regression/test_table06.rb +41 -0
- data/test/regression/test_table07.rb +29 -0
- data/test/regression/test_table08.rb +48 -0
- data/test/regression/test_table09.rb +65 -0
- data/test/regression/test_table10.rb +68 -0
- data/test/regression/test_table11.rb +37 -0
- data/test/regression/test_table12.rb +36 -0
- data/test/regression/test_table13.rb +51 -0
- data/test/regression/test_table14.rb +51 -0
- 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/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/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_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_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_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_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_line01.xlsx +0 -0
- data/test/regression/xlsx_files/chart_line02.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_pie01.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_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/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/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/custom_colors01.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/defined_name01.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/filehandle01.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/gridlines01.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/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/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_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/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/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/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/simple01.xlsx +0 -0
- data/test/regression/xlsx_files/simple02.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/test_example_match.rb +2386 -889
- data/test/workbook/test_write_defined_names.rb +1 -1
- data/test/worksheet/test_cond_format_01.rb +82 -0
- data/test/worksheet/test_cond_format_02.rb +87 -0
- data/test/worksheet/test_cond_format_03.rb +97 -0
- data/test/worksheet/test_cond_format_04.rb +85 -0
- data/test/worksheet/test_cond_format_05.rb +96 -0
- data/test/worksheet/test_cond_format_06.rb +106 -0
- data/test/worksheet/test_cond_format_07.rb +116 -0
- data/test/worksheet/test_cond_format_08.rb +115 -0
- data/test/worksheet/test_cond_format_09.rb +108 -0
- data/test/worksheet/test_cond_format_10.rb +83 -0
- data/test/worksheet/test_cond_format_11.rb +85 -0
- data/test/worksheet/test_cond_format_12.rb +133 -0
- data/test/worksheet/test_cond_format_13.rb +135 -0
- data/test/worksheet/test_cond_format_14.rb +132 -0
- data/test/worksheet/test_cond_format_15.rb +93 -0
- data/test/worksheet/test_cond_format_16.rb +138 -0
- data/test/worksheet/test_cond_format_17.rb +141 -0
- data/test/worksheet/test_cond_format_18.rb +135 -0
- data/test/worksheet/test_cond_format_19.rb +139 -0
- data/test/worksheet/test_write_array_formula_01.rb +3 -4
- data/test/worksheet/test_write_data_validation_01.rb +1 -1
- data/test/worksheet/test_write_data_validation_02.rb +2 -2
- data/test/worksheet/test_write_methods.rb +6 -1
- data/test/worksheet/test_write_page_setup.rb +1 -1
- data/test/worksheet/test_write_sheet_view.rb +1 -1
- data/write_xlsx.gemspec +644 -9
- metadata +649 -22
- data/test/chart/test_write_chart_space.rb +0 -15
data/examples/stats.rb
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
|
4
|
+
#######################################################################
|
5
|
+
#
|
6
|
+
# A Simple example of how to use functions with the WriteXLSX gem.
|
7
|
+
#
|
8
|
+
# reverse(c), March 2001, John McNamara, jmcnamara@cpan.org
|
9
|
+
# convert to ruby by Hideo NAKAMURA, cxn03651@msj.biglobe.ne.jp
|
10
|
+
#
|
11
|
+
|
12
|
+
require 'rubygems'
|
13
|
+
require 'write_xlsx'
|
14
|
+
|
15
|
+
# Create a new workbook and add a worksheet
|
16
|
+
workbook = WriteXLSX.new('stats.xlsx')
|
17
|
+
worksheet = workbook.add_worksheet('Test data')
|
18
|
+
|
19
|
+
# Set the column width for column 1
|
20
|
+
worksheet.set_column(0, 0, 20)
|
21
|
+
|
22
|
+
# Create a format for the headings
|
23
|
+
format = workbook.add_format
|
24
|
+
format.set_bold
|
25
|
+
|
26
|
+
# Write the sample data
|
27
|
+
worksheet.write(0, 0, 'Sample', format)
|
28
|
+
worksheet.write(0, 1, 1)
|
29
|
+
worksheet.write(0, 2, 2)
|
30
|
+
worksheet.write(0, 3, 3)
|
31
|
+
worksheet.write(0, 4, 4)
|
32
|
+
worksheet.write(0, 5, 5)
|
33
|
+
worksheet.write(0, 6, 6)
|
34
|
+
worksheet.write(0, 7, 7)
|
35
|
+
worksheet.write(0, 8, 8)
|
36
|
+
|
37
|
+
worksheet.write(1, 0, 'Length', format)
|
38
|
+
worksheet.write(1, 1, 25.4)
|
39
|
+
worksheet.write(1, 2, 25.4)
|
40
|
+
worksheet.write(1, 3, 24.8)
|
41
|
+
worksheet.write(1, 4, 25.0)
|
42
|
+
worksheet.write(1, 5, 25.3)
|
43
|
+
worksheet.write(1, 6, 24.9)
|
44
|
+
worksheet.write(1, 7, 25.2)
|
45
|
+
worksheet.write(1, 8, 24.8)
|
46
|
+
|
47
|
+
# Write some statistical functions
|
48
|
+
worksheet.write(4, 0, 'Count', format)
|
49
|
+
worksheet.write(4, 1, '=COUNT(B1:I1)')
|
50
|
+
|
51
|
+
worksheet.write(5, 0, 'Sum', format)
|
52
|
+
worksheet.write(5, 1, '=SUM(B2:I2)')
|
53
|
+
|
54
|
+
worksheet.write(6, 0, 'Average', format)
|
55
|
+
worksheet.write(6, 1, '=AVERAGE(B2:I2)')
|
56
|
+
|
57
|
+
worksheet.write(7, 0, 'Min', format)
|
58
|
+
worksheet.write(7, 1, '=MIN(B2:I2)')
|
59
|
+
|
60
|
+
worksheet.write(8, 0, 'Max', format)
|
61
|
+
worksheet.write(8, 1, '=MAX(B2:I2)')
|
62
|
+
|
63
|
+
worksheet.write(9, 0, 'Standard Deviation', format)
|
64
|
+
worksheet.write(9, 1, '=STDEV(B2:I2)')
|
65
|
+
|
66
|
+
worksheet.write(10, 0, 'Kurtosis', format)
|
67
|
+
worksheet.write(10, 1, '=KURT(B2:I2)')
|
68
|
+
|
69
|
+
workbook.close
|
@@ -0,0 +1,77 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
|
4
|
+
#######################################################################
|
5
|
+
#
|
6
|
+
# Example of how to use functions with the WriteXLSX gem.
|
7
|
+
#
|
8
|
+
# This is a simple example of how to use functions that reference cells in
|
9
|
+
# other worksheets within the same workbook.
|
10
|
+
#
|
11
|
+
# reverse(c), March 2001, John McNamara, jmcnamara@cpan.org
|
12
|
+
# convert to ruby by Hideo NAKAMURA, cxn03651@msj.biglobe.ne.jp
|
13
|
+
#
|
14
|
+
|
15
|
+
require 'rubygems'
|
16
|
+
require 'write_xlsx'
|
17
|
+
|
18
|
+
# Create a new workbook and add a worksheet
|
19
|
+
workbook = WriteXLSX.new('stats_ext.xlsx')
|
20
|
+
worksheet1 = workbook.add_worksheet('Test results')
|
21
|
+
worksheet2 = workbook.add_worksheet('Data')
|
22
|
+
|
23
|
+
# Set the column width for column 1
|
24
|
+
worksheet1.set_column(0, 0, 20)
|
25
|
+
|
26
|
+
# Create a format for the headings
|
27
|
+
headings = workbook.add_format
|
28
|
+
headings.set_bold
|
29
|
+
|
30
|
+
# Create a numerical format
|
31
|
+
numformat = workbook.add_format
|
32
|
+
numformat.set_num_format('0.00')
|
33
|
+
|
34
|
+
# Write some statistical functions
|
35
|
+
worksheet1.write(0, 0, 'Count', headings)
|
36
|
+
worksheet1.write(0, 1, '=COUNT(Data!B2:B9)')
|
37
|
+
|
38
|
+
worksheet1.write(1, 0, 'Sum', headings)
|
39
|
+
worksheet1.write(1, 1, '=SUM(Data!B2:B9)')
|
40
|
+
|
41
|
+
worksheet1.write(2, 0, 'Average', headings)
|
42
|
+
worksheet1.write(2, 1, '=AVERAGE(Data!B2:B9)')
|
43
|
+
|
44
|
+
worksheet1.write(3, 0, 'Min', headings)
|
45
|
+
worksheet1.write(3, 1, '=MIN(Data!B2:B9)')
|
46
|
+
|
47
|
+
worksheet1.write(4, 0, 'Max', headings)
|
48
|
+
worksheet1.write(4, 1, '=MAX(Data!B2:B9)')
|
49
|
+
|
50
|
+
worksheet1.write(5, 0, 'Standard Deviation', headings)
|
51
|
+
worksheet1.write(5, 1, '=STDEV(Data!B2:B9)')
|
52
|
+
|
53
|
+
worksheet1.write(6, 0, 'Kurtosis', headings)
|
54
|
+
worksheet1.write(6, 1, '=KURT(Data!B2:B9)')
|
55
|
+
|
56
|
+
# Write the sample data
|
57
|
+
worksheet2.write(0, 0, 'Sample', headings)
|
58
|
+
worksheet2.write(1, 0, 1)
|
59
|
+
worksheet2.write(2, 0, 2)
|
60
|
+
worksheet2.write(3, 0, 3)
|
61
|
+
worksheet2.write(4, 0, 4)
|
62
|
+
worksheet2.write(5, 0, 5)
|
63
|
+
worksheet2.write(6, 0, 6)
|
64
|
+
worksheet2.write(7, 0, 7)
|
65
|
+
worksheet2.write(8, 0, 8)
|
66
|
+
|
67
|
+
worksheet2.write(0, 1, 'Length', headings)
|
68
|
+
worksheet2.write(1, 1, 25.4, numformat)
|
69
|
+
worksheet2.write(2, 1, 25.4, numformat)
|
70
|
+
worksheet2.write(3, 1, 24.8, numformat)
|
71
|
+
worksheet2.write(4, 1, 25.0, numformat)
|
72
|
+
worksheet2.write(5, 1, 25.3, numformat)
|
73
|
+
worksheet2.write(6, 1, 24.9, numformat)
|
74
|
+
worksheet2.write(7, 1, 25.2, numformat)
|
75
|
+
worksheet2.write(8, 1, 24.8, numformat)
|
76
|
+
|
77
|
+
workbook.close
|
data/examples/stocks.rb
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
|
4
|
+
#######################################################################
|
5
|
+
#
|
6
|
+
# Example of formatting using the WriteXLSX gem
|
7
|
+
#
|
8
|
+
# This example shows how to use a conditional numerical format
|
9
|
+
# with colours to indicate if a share price has gone up or down.
|
10
|
+
#
|
11
|
+
# reverse(c), March 2001, John McNamara, jmcnamara@cpan.org
|
12
|
+
# convert to ruby by Hideo NAKAMURA, cxn03651@msj.biglobe.ne.jp
|
13
|
+
#
|
14
|
+
|
15
|
+
require 'rubygems'
|
16
|
+
require 'write_xlsx'
|
17
|
+
|
18
|
+
# Create a new workbook called simple.xls and add a worksheet
|
19
|
+
workbook = WriteXLSX.new('stock.xlsx')
|
20
|
+
worksheet = workbook.add_worksheet
|
21
|
+
|
22
|
+
# Set the column width for columns 1, 2, 3 and 4
|
23
|
+
worksheet.set_column(0, 3, 15)
|
24
|
+
|
25
|
+
# Create a format for the column headings
|
26
|
+
header = workbook.add_format
|
27
|
+
header.set_bold
|
28
|
+
header.set_size(12)
|
29
|
+
header.set_color('blue')
|
30
|
+
|
31
|
+
# Create a format for the stock price
|
32
|
+
f_price = workbook.add_format
|
33
|
+
f_price.set_align('left')
|
34
|
+
f_price.set_num_format('$0.00')
|
35
|
+
|
36
|
+
# Create a format for the stock volume
|
37
|
+
f_volume = workbook.add_format
|
38
|
+
f_volume.set_align('left')
|
39
|
+
f_volume.set_num_format('#,##0')
|
40
|
+
|
41
|
+
# Create a format for the price change. This is an example of a conditional
|
42
|
+
# format. The number is formatted as a percentage. If it is positive it is
|
43
|
+
# formatted in green, if it is negative it is formatted in red and if it is
|
44
|
+
# zero it is formatted as the default font colour (in this case black).
|
45
|
+
# Note: the [Green] format produces an unappealing lime green. Try
|
46
|
+
# [Color 10] instead for a dark green.
|
47
|
+
#
|
48
|
+
f_change = workbook.add_format
|
49
|
+
f_change.set_align('left')
|
50
|
+
f_change.set_num_format('[Green]0.0%;[Red]-0.0%;0.0%')
|
51
|
+
|
52
|
+
# Write out the data
|
53
|
+
worksheet.write(0, 0, 'Company', header)
|
54
|
+
worksheet.write(0, 1, 'Price', header)
|
55
|
+
worksheet.write(0, 2, 'Volume', header)
|
56
|
+
worksheet.write(0, 3, 'Change', header)
|
57
|
+
|
58
|
+
worksheet.write(1, 0, 'Damage Inc.')
|
59
|
+
worksheet.write(1, 1, 30.25, f_price) # $30.25
|
60
|
+
worksheet.write(1, 2, 1234567, f_volume) # 1,234,567
|
61
|
+
worksheet.write(1, 3, 0.085, f_change) # 8.5% in green
|
62
|
+
|
63
|
+
worksheet.write(2, 0, 'Dump Corp.')
|
64
|
+
worksheet.write(2, 1, 1.56, f_price) # $1.56
|
65
|
+
worksheet.write(2, 2, 7564, f_volume) # 7,564
|
66
|
+
worksheet.write(2, 3, -0.015, f_change) # -1.5% in red
|
67
|
+
|
68
|
+
worksheet.write(3, 0, 'Rev Ltd.')
|
69
|
+
worksheet.write(3, 1, 0.13, f_price) # $0.13
|
70
|
+
worksheet.write(3, 2, 321, f_volume) # 321
|
71
|
+
worksheet.write(3, 3, 0, f_change) # 0 in the font color (black)
|
72
|
+
|
73
|
+
workbook.close
|
data/examples/tables.rb
ADDED
@@ -0,0 +1,360 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
|
4
|
+
#######################################################################
|
5
|
+
#
|
6
|
+
# Example of how to add tables to an WriteXLSX worksheet.
|
7
|
+
#
|
8
|
+
# Tables in Excel are use to group rows and columns of data into a single
|
9
|
+
# structure that can be references in a formula or formatted collectively.
|
10
|
+
#
|
11
|
+
# reverse(c), March 2001, John McNamara, jmcnamara@cpan.org
|
12
|
+
# convert to ruby by Hideo NAKAMURA, cxn03651@msj.biglobe.ne.jp
|
13
|
+
#
|
14
|
+
|
15
|
+
require 'rubygems'
|
16
|
+
require 'write_xlsx'
|
17
|
+
|
18
|
+
# Create a new workbook called simple.xls and add a worksheet
|
19
|
+
workbook = WriteXLSX.new('tables.xlsx')
|
20
|
+
worksheet1 = workbook.add_worksheet
|
21
|
+
worksheet2 = workbook.add_worksheet
|
22
|
+
worksheet3 = workbook.add_worksheet
|
23
|
+
worksheet4 = workbook.add_worksheet
|
24
|
+
worksheet5 = workbook.add_worksheet
|
25
|
+
worksheet6 = workbook.add_worksheet
|
26
|
+
worksheet7 = workbook.add_worksheet
|
27
|
+
worksheet8 = workbook.add_worksheet
|
28
|
+
worksheet9 = workbook.add_worksheet
|
29
|
+
worksheet10 = workbook.add_worksheet
|
30
|
+
worksheet11 = workbook.add_worksheet
|
31
|
+
worksheet12 = workbook.add_worksheet
|
32
|
+
|
33
|
+
currency_format = workbook.add_format(:num_format => '$#,##0')
|
34
|
+
|
35
|
+
|
36
|
+
# Some sample data for the table.
|
37
|
+
data = [
|
38
|
+
[ 'Apples', 10000, 5000, 8000, 6000 ],
|
39
|
+
[ 'Pears', 2000, 3000, 4000, 5000 ],
|
40
|
+
[ 'Bananas', 6000, 6000, 6500, 6000 ],
|
41
|
+
[ 'Oranges', 500, 300, 200, 700 ]
|
42
|
+
]
|
43
|
+
|
44
|
+
###############################################################################
|
45
|
+
#
|
46
|
+
# Example 1.
|
47
|
+
#
|
48
|
+
caption = 'Default table with no data.'
|
49
|
+
|
50
|
+
# Set the columns widths.
|
51
|
+
worksheet1.set_column('B:G', 12)
|
52
|
+
|
53
|
+
# Write the caption.
|
54
|
+
worksheet1.write('B1', caption)
|
55
|
+
|
56
|
+
# Add a table to the worksheet.
|
57
|
+
worksheet1.add_table('B3:F7')
|
58
|
+
|
59
|
+
|
60
|
+
###############################################################################
|
61
|
+
#
|
62
|
+
# Example 2.
|
63
|
+
#
|
64
|
+
caption = 'Default table with data.';
|
65
|
+
|
66
|
+
# Set the columns widths.
|
67
|
+
worksheet2.set_column('B:G', 12)
|
68
|
+
|
69
|
+
# Write the caption.
|
70
|
+
worksheet2.write('B1', caption)
|
71
|
+
|
72
|
+
# Add a table to the worksheet.
|
73
|
+
worksheet2.add_table('B3:F7', { :data => data })
|
74
|
+
|
75
|
+
|
76
|
+
###############################################################################
|
77
|
+
#
|
78
|
+
# Example 3.
|
79
|
+
#
|
80
|
+
caption = 'Table without default autofilter.'
|
81
|
+
|
82
|
+
# Set the columns widths.
|
83
|
+
worksheet3.set_column('B:G', 12)
|
84
|
+
|
85
|
+
# Write the caption.
|
86
|
+
worksheet3.write('B1', caption)
|
87
|
+
|
88
|
+
# Add a table to the worksheet.
|
89
|
+
worksheet3.add_table('B3:F7', { :autofilter => 0 })
|
90
|
+
|
91
|
+
# Table data can also be written separately, as an array or individual cells.
|
92
|
+
worksheet3.write_col('B4', data)
|
93
|
+
|
94
|
+
###############################################################################
|
95
|
+
#
|
96
|
+
# Example 4.
|
97
|
+
#
|
98
|
+
caption = 'Table without default header row.'
|
99
|
+
|
100
|
+
# Set the columns widths.
|
101
|
+
worksheet4.set_column('B:G', 12)
|
102
|
+
|
103
|
+
# Write the caption.
|
104
|
+
worksheet4.write('B1', caption)
|
105
|
+
|
106
|
+
# Add a table to the worksheet.
|
107
|
+
worksheet4.add_table('B4:F7', { :header_row => 0 })
|
108
|
+
|
109
|
+
# Table data can also be written separately, as an array or individual cells.
|
110
|
+
worksheet4.write_col('B4', data)
|
111
|
+
|
112
|
+
###############################################################################
|
113
|
+
#
|
114
|
+
# Example 5.
|
115
|
+
#
|
116
|
+
caption = 'Default table with "First Column" and "Last Column" options.'
|
117
|
+
|
118
|
+
# Set the columns widths.
|
119
|
+
worksheet5.set_column('B:G', 12)
|
120
|
+
|
121
|
+
# Write the caption.
|
122
|
+
worksheet5.write('B1', caption)
|
123
|
+
|
124
|
+
# Add a table to the worksheet.
|
125
|
+
worksheet5.add_table('B3:F7', { :first_column => 1, :last_column => 1 })
|
126
|
+
|
127
|
+
# Table data can also be written separately, as an array or individual cells.
|
128
|
+
worksheet5.write_col('B4', data)
|
129
|
+
|
130
|
+
###############################################################################
|
131
|
+
#
|
132
|
+
# Example 6.
|
133
|
+
#
|
134
|
+
caption = 'Table with banded columns but without default banded rows.';
|
135
|
+
|
136
|
+
# Set the columns widths.
|
137
|
+
worksheet6.set_column('B:G', 12)
|
138
|
+
|
139
|
+
# Write the caption.
|
140
|
+
worksheet6.write('B1', caption)
|
141
|
+
|
142
|
+
# Add a table to the worksheet.
|
143
|
+
worksheet6.add_table('B3:F7', { :banded_rows => 0, :banded_columns => 1 })
|
144
|
+
|
145
|
+
# Table data can also be written separately, as an array or individual cells.
|
146
|
+
worksheet6.write_col('B4', data)
|
147
|
+
|
148
|
+
|
149
|
+
###############################################################################
|
150
|
+
#
|
151
|
+
# Example 7.
|
152
|
+
#
|
153
|
+
caption = 'Table with user defined column headers';
|
154
|
+
|
155
|
+
# Set the columns widths.
|
156
|
+
worksheet7.set_column('B:G', 12)
|
157
|
+
|
158
|
+
# Write the caption.
|
159
|
+
worksheet7.write('B1', caption)
|
160
|
+
|
161
|
+
# Add a table to the worksheet.
|
162
|
+
worksheet7.add_table(
|
163
|
+
'B3:F7',
|
164
|
+
{
|
165
|
+
:data => data,
|
166
|
+
:columns => [
|
167
|
+
{ :header => 'Product' },
|
168
|
+
{ :header => 'Quarter 1' },
|
169
|
+
{ :header => 'Quarter 2' },
|
170
|
+
{ :header => 'Quarter 3' },
|
171
|
+
{ :header => 'Quarter 4' }
|
172
|
+
]
|
173
|
+
}
|
174
|
+
)
|
175
|
+
|
176
|
+
###############################################################################
|
177
|
+
#
|
178
|
+
# Example 8.
|
179
|
+
#
|
180
|
+
caption = 'Table with user defined column headers';
|
181
|
+
|
182
|
+
# Set the columns widths.
|
183
|
+
worksheet8.set_column('B:G', 12)
|
184
|
+
|
185
|
+
# Write the caption.
|
186
|
+
worksheet8.write('B1', caption)
|
187
|
+
|
188
|
+
# Add a table to the worksheet.
|
189
|
+
worksheet8.add_table(
|
190
|
+
'B3:G7',
|
191
|
+
{
|
192
|
+
:data => data,
|
193
|
+
:columns => [
|
194
|
+
{ :header => 'Product' },
|
195
|
+
{ :header => 'Quarter 1' },
|
196
|
+
{ :header => 'Quarter 2' },
|
197
|
+
{ :header => 'Quarter 3' },
|
198
|
+
{ :header => 'Quarter 4' },
|
199
|
+
{
|
200
|
+
:header => 'Year',
|
201
|
+
:formula => '=SUM(Table8[@[Quarter 1]:[Quarter 4]])'
|
202
|
+
}
|
203
|
+
]
|
204
|
+
}
|
205
|
+
)
|
206
|
+
|
207
|
+
|
208
|
+
###############################################################################
|
209
|
+
#
|
210
|
+
# Example 9.
|
211
|
+
#
|
212
|
+
caption = 'Table with totals row (but no caption or totals).';
|
213
|
+
|
214
|
+
# Set the columns widths.
|
215
|
+
worksheet9.set_column('B:G', 12)
|
216
|
+
|
217
|
+
# Write the caption.
|
218
|
+
worksheet9.write('B1', caption)
|
219
|
+
|
220
|
+
# Add a table to the worksheet.
|
221
|
+
worksheet9.add_table(
|
222
|
+
'B3:G8',
|
223
|
+
{
|
224
|
+
:data => data,
|
225
|
+
:total_row => 1,
|
226
|
+
:columns => [
|
227
|
+
{ :header => 'Product' },
|
228
|
+
{ :header => 'Quarter 1' },
|
229
|
+
{ :header => 'Quarter 2' },
|
230
|
+
{ :header => 'Quarter 3' },
|
231
|
+
{ :header => 'Quarter 4' },
|
232
|
+
{
|
233
|
+
:header => 'Year',
|
234
|
+
:formula => '=SUM(Table8[@[Quarter 1]:[Quarter 4]])'
|
235
|
+
}
|
236
|
+
]
|
237
|
+
}
|
238
|
+
)
|
239
|
+
|
240
|
+
|
241
|
+
###############################################################################
|
242
|
+
#
|
243
|
+
# Example 10.
|
244
|
+
#
|
245
|
+
caption = 'Table with totals row with user captions and functions.';
|
246
|
+
|
247
|
+
# Set the columns widths.
|
248
|
+
worksheet10.set_column('B:G', 12)
|
249
|
+
|
250
|
+
# Write the caption.
|
251
|
+
worksheet10.write('B1', caption)
|
252
|
+
|
253
|
+
# Add a table to the worksheet.
|
254
|
+
worksheet10.add_table(
|
255
|
+
'B3:G8',
|
256
|
+
{
|
257
|
+
:data => data,
|
258
|
+
:total_row => 1,
|
259
|
+
:columns => [
|
260
|
+
{ :header => 'Product', :total_string => 'Totals' },
|
261
|
+
{ :header => 'Quarter 1', :total_function => 'sum' },
|
262
|
+
{ :header => 'Quarter 2', :total_function => 'sum' },
|
263
|
+
{ :header => 'Quarter 3', :total_function => 'sum' },
|
264
|
+
{ :header => 'Quarter 4', :total_function => 'sum' },
|
265
|
+
{
|
266
|
+
:header => 'Year',
|
267
|
+
:formula => '=SUM(Table8[@[Quarter 1]:[Quarter 4]])',
|
268
|
+
:total_function => 'sum'
|
269
|
+
}
|
270
|
+
]
|
271
|
+
}
|
272
|
+
)
|
273
|
+
|
274
|
+
|
275
|
+
###############################################################################
|
276
|
+
#
|
277
|
+
# Example 11.
|
278
|
+
#
|
279
|
+
caption = 'Table with alternative Excel style.';
|
280
|
+
|
281
|
+
# Set the columns widths.
|
282
|
+
worksheet11.set_column('B:G', 12)
|
283
|
+
|
284
|
+
# Write the caption.
|
285
|
+
worksheet11.write('B1', caption)
|
286
|
+
|
287
|
+
# Add a table to the worksheet.
|
288
|
+
worksheet11.add_table(
|
289
|
+
'B3:G8',
|
290
|
+
{
|
291
|
+
:data => data,
|
292
|
+
:style => 'Table Style Light 11',
|
293
|
+
:total_row => 1,
|
294
|
+
:columns => [
|
295
|
+
{ :header => 'Product', :total_string => 'Totals' },
|
296
|
+
{ :header => 'Quarter 1', :total_function => 'sum' },
|
297
|
+
{ :header => 'Quarter 2', :total_function => 'sum' },
|
298
|
+
{ :header => 'Quarter 3', :total_function => 'sum' },
|
299
|
+
{ :header => 'Quarter 4', :total_function => 'sum' },
|
300
|
+
{
|
301
|
+
:header => 'Year',
|
302
|
+
:formula => '=SUM(Table8[@[Quarter 1]:[Quarter 4]])',
|
303
|
+
:total_function => 'sum'
|
304
|
+
}
|
305
|
+
]
|
306
|
+
}
|
307
|
+
)
|
308
|
+
|
309
|
+
|
310
|
+
###############################################################################
|
311
|
+
#
|
312
|
+
# Example 12.
|
313
|
+
#
|
314
|
+
caption = 'Table with column formats.';
|
315
|
+
|
316
|
+
# Set the columns widths.
|
317
|
+
worksheet12.set_column('B:G', 12)
|
318
|
+
|
319
|
+
# Write the caption.
|
320
|
+
worksheet12.write('B1', caption)
|
321
|
+
|
322
|
+
# Add a table to the worksheet.
|
323
|
+
worksheet12.add_table(
|
324
|
+
'B3:G8',
|
325
|
+
{
|
326
|
+
:data => data,
|
327
|
+
:total_row => 1,
|
328
|
+
:columns => [
|
329
|
+
{ :header => 'Product', :total_string => 'Totals' },
|
330
|
+
{
|
331
|
+
:header => 'Quarter 1',
|
332
|
+
:total_function => 'sum',
|
333
|
+
:format => currency_format,
|
334
|
+
},
|
335
|
+
{
|
336
|
+
:header => 'Quarter 2',
|
337
|
+
:total_function => 'sum',
|
338
|
+
:format => currency_format,
|
339
|
+
},
|
340
|
+
{
|
341
|
+
:header => 'Quarter 3',
|
342
|
+
:total_function => 'sum',
|
343
|
+
:format => currency_format,
|
344
|
+
},
|
345
|
+
{
|
346
|
+
:header => 'Quarter 4',
|
347
|
+
:total_function => 'sum',
|
348
|
+
:format => currency_format,
|
349
|
+
},
|
350
|
+
{
|
351
|
+
:header => 'Year',
|
352
|
+
:formula => '=SUM(Table8[@[Quarter 1]:[Quarter 4]])',
|
353
|
+
:total_function => 'sum',
|
354
|
+
:format => currency_format,
|
355
|
+
}
|
356
|
+
]
|
357
|
+
}
|
358
|
+
)
|
359
|
+
|
360
|
+
workbook.close
|