write_xlsx 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.document +5 -0
- data/.gitattributes +1 -0
- data/Gemfile +12 -0
- data/LICENSE.txt +20 -0
- data/README.rdoc +82 -0
- data/Rakefile +78 -0
- data/VERSION +1 -0
- data/examples/a_simple.rb +45 -0
- data/examples/array_formula.rb +33 -0
- data/examples/autofilter.rb +235 -0
- data/examples/chart_area.rb +59 -0
- data/examples/chart_bar.rb +59 -0
- data/examples/chart_column.rb +58 -0
- data/examples/chart_line.rb +59 -0
- data/examples/chart_pie.rb +49 -0
- data/examples/chart_scatter.rb +59 -0
- data/examples/chart_stock.rb +65 -0
- data/examples/colors.rb +130 -0
- data/examples/comments1.rb +12 -0
- data/examples/comments2.rb +335 -0
- data/examples/conditional_format.rb +67 -0
- data/examples/data_validate.rb +279 -0
- data/examples/defined_name.rb +28 -0
- data/examples/demo.rb +104 -0
- data/examples/diag_border.rb +26 -0
- data/examples/headers.rb +119 -0
- data/examples/hide_sheet.rb +30 -0
- data/examples/hyperlink1.rb +58 -0
- data/examples/indent.rb +28 -0
- data/examples/merge1.rb +38 -0
- data/examples/merge2.rb +48 -0
- data/examples/merge3.rb +43 -0
- data/examples/merge4.rb +82 -0
- data/examples/merge5.rb +70 -0
- data/examples/merge6.rb +48 -0
- data/examples/outline.rb +252 -0
- data/examples/properties.rb +33 -0
- data/examples/protection.rb +34 -0
- data/examples/rich_strings.rb +42 -0
- data/examples/right_to_left.rb +24 -0
- data/examples/tab_colors.rb +26 -0
- data/lib/write_xlsx.rb +77 -0
- data/lib/write_xlsx/chart.rb +3027 -0
- data/lib/write_xlsx/chart/area.rb +52 -0
- data/lib/write_xlsx/chart/bar.rb +126 -0
- data/lib/write_xlsx/chart/column.rb +132 -0
- data/lib/write_xlsx/chart/line.rb +51 -0
- data/lib/write_xlsx/chart/pie.rb +210 -0
- data/lib/write_xlsx/chart/scatter.rb +252 -0
- data/lib/write_xlsx/chart/stock.rb +134 -0
- data/lib/write_xlsx/chartsheet.rb +173 -0
- data/lib/write_xlsx/colors.rb +65 -0
- data/lib/write_xlsx/compatibility.rb +71 -0
- data/lib/write_xlsx/drawing.rb +547 -0
- data/lib/write_xlsx/format.rb +683 -0
- data/lib/write_xlsx/package/app.rb +218 -0
- data/lib/write_xlsx/package/comments.rb +221 -0
- data/lib/write_xlsx/package/content_types.rb +189 -0
- data/lib/write_xlsx/package/core.rb +196 -0
- data/lib/write_xlsx/package/packager.rb +510 -0
- data/lib/write_xlsx/package/relationships.rb +98 -0
- data/lib/write_xlsx/package/shared_strings.rb +96 -0
- data/lib/write_xlsx/package/styles.rb +705 -0
- data/lib/write_xlsx/package/theme.rb +45 -0
- data/lib/write_xlsx/package/vml.rb +386 -0
- data/lib/write_xlsx/package/xml_writer_simple.rb +90 -0
- data/lib/write_xlsx/utility.rb +113 -0
- data/lib/write_xlsx/workbook.rb +1488 -0
- data/lib/write_xlsx/worksheet.rb +6578 -0
- data/lib/write_xlsx/zip_file_utils.rb +98 -0
- data/test/chart/test_add_series.rb +113 -0
- data/test/chart/test_process_names.rb +27 -0
- data/test/chart/test_write_auto.rb +15 -0
- data/test/chart/test_write_ax_id.rb +15 -0
- data/test/chart/test_write_ax_pos.rb +15 -0
- data/test/chart/test_write_chart_space.rb +15 -0
- data/test/chart/test_write_cross_ax.rb +15 -0
- data/test/chart/test_write_crosses.rb +15 -0
- data/test/chart/test_write_format_code.rb +15 -0
- data/test/chart/test_write_idx.rb +15 -0
- data/test/chart/test_write_label_align.rb +15 -0
- data/test/chart/test_write_label_offset.rb +15 -0
- data/test/chart/test_write_lang.rb +15 -0
- data/test/chart/test_write_layout.rb +15 -0
- data/test/chart/test_write_legend.rb +16 -0
- data/test/chart/test_write_legend_pos.rb +15 -0
- data/test/chart/test_write_major_gridlines.rb +15 -0
- data/test/chart/test_write_marker.rb +17 -0
- data/test/chart/test_write_marker_size.rb +15 -0
- data/test/chart/test_write_marker_value.rb +16 -0
- data/test/chart/test_write_num_cache.rb +16 -0
- data/test/chart/test_write_num_fmt.rb +16 -0
- data/test/chart/test_write_number_format.rb +15 -0
- data/test/chart/test_write_order.rb +15 -0
- data/test/chart/test_write_orientation.rb +15 -0
- data/test/chart/test_write_page_margins.rb +15 -0
- data/test/chart/test_write_page_setup.rb +15 -0
- data/test/chart/test_write_plot_vis_only.rb +15 -0
- data/test/chart/test_write_pt.rb +16 -0
- data/test/chart/test_write_pt_count.rb +16 -0
- data/test/chart/test_write_series_formula.rb +16 -0
- data/test/chart/test_write_style.rb +41 -0
- data/test/chart/test_write_symbol.rb +16 -0
- data/test/chart/test_write_tick_lbl_pos.rb +16 -0
- data/test/chart/test_write_v.rb +16 -0
- data/test/drawing/test_drawing_chart_01.rb +50 -0
- data/test/drawing/test_drawing_image_01.rb +59 -0
- data/test/helper.rb +90 -0
- data/test/package/app/test_app01.rb +44 -0
- data/test/package/app/test_app02.rb +46 -0
- data/test/package/app/test_app03.rb +53 -0
- data/test/package/comments/test_comments01.rb +36 -0
- data/test/package/comments/test_write_text_t.rb +44 -0
- data/test/package/content_types/test_content_types.rb +35 -0
- data/test/package/content_types/test_write_default.rb +13 -0
- data/test/package/content_types/test_write_override.rb +13 -0
- data/test/package/core/test_core01.rb +28 -0
- data/test/package/core/test_core02.rb +42 -0
- data/test/package/relationships/test_relationships.rb +28 -0
- data/test/package/relationships/test_sheet_rels.rb +22 -0
- data/test/package/shared_strings/test_shared_strings01.rb +30 -0
- data/test/package/shared_strings/test_shared_strings02.rb +30 -0
- data/test/package/shared_strings/test_write_si.rb +13 -0
- data/test/package/shared_strings/test_write_sst.rb +15 -0
- data/test/package/styles/test_styles_01.rb +69 -0
- data/test/package/styles/test_styles_02.rb +104 -0
- data/test/package/styles/test_styles_03.rb +90 -0
- data/test/package/styles/test_styles_04.rb +216 -0
- data/test/package/styles/test_styles_05.rb +150 -0
- data/test/package/styles/test_styles_06.rb +104 -0
- data/test/package/styles/test_styles_07.rb +104 -0
- data/test/package/styles/test_styles_08.rb +109 -0
- data/test/package/styles/test_styles_09.rb +95 -0
- data/test/package/vml/test_vml_01.rb +42 -0
- data/test/package/vml/test_write_anchor.rb +14 -0
- data/test/package/vml/test_write_auto_fill.rb +14 -0
- data/test/package/vml/test_write_column.rb +14 -0
- data/test/package/vml/test_write_div.rb +14 -0
- data/test/package/vml/test_write_fill.rb +14 -0
- data/test/package/vml/test_write_idmap.rb +14 -0
- data/test/package/vml/test_write_move_with_cells.rb +14 -0
- data/test/package/vml/test_write_path.rb +22 -0
- data/test/package/vml/test_write_row.rb +14 -0
- data/test/package/vml/test_write_shadow.rb +14 -0
- data/test/package/vml/test_write_shapelayout.rb +14 -0
- data/test/package/vml/test_write_shapetype.rb +14 -0
- data/test/package/vml/test_write_size_with_cells.rb +14 -0
- data/test/package/vml/test_write_stroke.rb +14 -0
- data/test/package/vml/test_write_textbox.rb +14 -0
- data/test/perl_output/a_simple.xlsx +0 -0
- data/test/perl_output/array_formula.xlsx +0 -0
- data/test/perl_output/autofilter.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_line.xlsx +0 -0
- data/test/perl_output/chart_pie.xlsx +0 -0
- data/test/perl_output/chart_scatter.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/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/headers.xlsx +0 -0
- data/test/perl_output/hide_sheet.xlsx +0 -0
- data/test/perl_output/hyperlink.xlsx +0 -0
- data/test/perl_output/indent.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/outline.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/rich_strings.xlsx +0 -0
- data/test/perl_output/right_to_left.xlsx +0 -0
- data/test/perl_output/tab_colors.xlsx +0 -0
- data/test/test_delete_files.rb +37 -0
- data/test/test_example_match.rb +2281 -0
- data/test/test_xml_writer_simple.rb +63 -0
- data/test/workbook/test_get_chart_range.rb +59 -0
- data/test/workbook/test_sort_defined_names.rb +77 -0
- data/test/workbook/test_workbook_01.rb +29 -0
- data/test/workbook/test_workbook_02.rb +31 -0
- data/test/workbook/test_workbook_03.rb +31 -0
- data/test/workbook/test_workbook_new.rb +18 -0
- data/test/workbook/test_write_defined_name.rb +17 -0
- data/test/workbook/test_write_defined_names.rb +41 -0
- data/test/worksheet/test_calculate_spans.rb +58 -0
- data/test/worksheet/test_convert_date_time_01.rb +439 -0
- data/test/worksheet/test_convert_date_time_02.rb +478 -0
- data/test/worksheet/test_convert_date_time_03.rb +435 -0
- data/test/worksheet/test_extract_filter_tokens.rb +109 -0
- data/test/worksheet/test_parse_filter_expression.rb +143 -0
- data/test/worksheet/test_position_object.rb +50 -0
- data/test/worksheet/test_repeat_formula.rb +55 -0
- data/test/worksheet/test_worksheet_01.rb +32 -0
- data/test/worksheet/test_worksheet_02.rb +38 -0
- data/test/worksheet/test_worksheet_03.rb +44 -0
- data/test/worksheet/test_worksheet_04.rb +45 -0
- data/test/worksheet/test_write_array_formula_01.rb +99 -0
- data/test/worksheet/test_write_autofilter.rb +260 -0
- data/test/worksheet/test_write_brk.rb +18 -0
- data/test/worksheet/test_write_cell.rb +49 -0
- data/test/worksheet/test_write_cell_value.rb +33 -0
- data/test/worksheet/test_write_col_breaks.rb +27 -0
- data/test/worksheet/test_write_col_info.rb +95 -0
- data/test/worksheet/test_write_conditional_formatting.rb +72 -0
- data/test/worksheet/test_write_custom_filter.rb +18 -0
- data/test/worksheet/test_write_custom_filters.rb +25 -0
- data/test/worksheet/test_write_data_validation_01.rb +113 -0
- data/test/worksheet/test_write_data_validation_02.rb +528 -0
- data/test/worksheet/test_write_dimension.rb +94 -0
- data/test/worksheet/test_write_ext.rb +18 -0
- data/test/worksheet/test_write_ext_lst.rb +18 -0
- data/test/worksheet/test_write_filter.rb +18 -0
- data/test/worksheet/test_write_filter_column.rb +18 -0
- data/test/worksheet/test_write_filters.rb +32 -0
- data/test/worksheet/test_write_header_footer.rb +53 -0
- data/test/worksheet/test_write_hyperlink.rb +39 -0
- data/test/worksheet/test_write_hyperlinks.rb +27 -0
- data/test/worksheet/test_write_legacy_drawing.rb +19 -0
- data/test/worksheet/test_write_merge_cell.rb +18 -0
- data/test/worksheet/test_write_merge_cells.rb +192 -0
- data/test/worksheet/test_write_methods.rb +353 -0
- data/test/worksheet/test_write_mx_plv.rb +19 -0
- data/test/worksheet/test_write_page_margins.rb +98 -0
- data/test/worksheet/test_write_page_set_up_pr.rb +19 -0
- data/test/worksheet/test_write_page_setup.rb +54 -0
- data/test/worksheet/test_write_pane.rb +123 -0
- data/test/worksheet/test_write_phonetic_pr.rb +19 -0
- data/test/worksheet/test_write_print_options.rb +77 -0
- data/test/worksheet/test_write_row_breaks.rb +27 -0
- data/test/worksheet/test_write_row_element.rb +69 -0
- data/test/worksheet/test_write_selection.rb +18 -0
- data/test/worksheet/test_write_sheet_calc_pr.rb +18 -0
- data/test/worksheet/test_write_sheet_data.rb +18 -0
- data/test/worksheet/test_write_sheet_format_pr.rb +18 -0
- data/test/worksheet/test_write_sheet_pr.rb +36 -0
- data/test/worksheet/test_write_sheet_protection.rb +174 -0
- data/test/worksheet/test_write_sheet_view.rb +62 -0
- data/test/worksheet/test_write_sheet_view1.rb +64 -0
- data/test/worksheet/test_write_sheet_view2.rb +56 -0
- data/test/worksheet/test_write_sheet_view3.rb +83 -0
- data/test/worksheet/test_write_sheet_view4.rb +83 -0
- data/test/worksheet/test_write_sheet_view5.rb +74 -0
- data/test/worksheet/test_write_sheet_view6.rb +51 -0
- data/test/worksheet/test_write_sheet_view7.rb +71 -0
- data/test/worksheet/test_write_sheet_view8.rb +51 -0
- data/test/worksheet/test_write_sheet_view9.rb +51 -0
- data/test/worksheet/test_write_tab_color.rb +23 -0
- data/test/worksheet/test_write_worksheet.rb +19 -0
- data/write_xlsx.gemspec +308 -0
- metadata +363 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
require 'helper'
|
|
3
|
+
require 'write_xlsx'
|
|
4
|
+
require 'stringio'
|
|
5
|
+
|
|
6
|
+
class TestWriteSheetFormatPr < Test::Unit::TestCase
|
|
7
|
+
def setup
|
|
8
|
+
@workbook = WriteXLSX.new(StringIO.new)
|
|
9
|
+
@worksheet = @workbook.add_worksheet('')
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def test_write_sheet_format_pr
|
|
13
|
+
@worksheet.__send__('write_sheet_format_pr')
|
|
14
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
15
|
+
expected = '<sheetFormatPr defaultRowHeight="15" />'
|
|
16
|
+
assert_equal(expected, result)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
require 'helper'
|
|
3
|
+
require 'write_xlsx'
|
|
4
|
+
require 'stringio'
|
|
5
|
+
|
|
6
|
+
class TestWriteSheetPr < Test::Unit::TestCase
|
|
7
|
+
def setup
|
|
8
|
+
@workbook = WriteXLSX.new(StringIO.new)
|
|
9
|
+
@worksheet = @workbook.add_worksheet('')
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def test_write_sheet_pr_fit_page
|
|
13
|
+
@worksheet.instance_variable_get(:@print_style).fit_page = true
|
|
14
|
+
@worksheet.__send__('write_sheet_pr')
|
|
15
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
16
|
+
expected = '<sheetPr><pageSetUpPr fitToPage="1" /></sheetPr>'
|
|
17
|
+
assert_equal(expected, result)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_write_sheet_pr_tab_color
|
|
21
|
+
@worksheet.set_tab_color('red')
|
|
22
|
+
@worksheet.__send__('write_sheet_pr')
|
|
23
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
24
|
+
expected = '<sheetPr><tabColor rgb="FFFF0000" /></sheetPr>'
|
|
25
|
+
assert_equal(expected, result)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_write_sheet_pr_fit_page_and_tab_color
|
|
29
|
+
@worksheet.instance_variable_get(:@print_style).fit_page = true
|
|
30
|
+
@worksheet.set_tab_color('red')
|
|
31
|
+
@worksheet.__send__('write_sheet_pr')
|
|
32
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
33
|
+
expected = '<sheetPr><tabColor rgb="FFFF0000" /><pageSetUpPr fitToPage="1" /></sheetPr>'
|
|
34
|
+
assert_equal(expected, result)
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
require 'helper'
|
|
3
|
+
require 'write_xlsx'
|
|
4
|
+
require 'stringio'
|
|
5
|
+
|
|
6
|
+
class TestWriteSheetProtection < Test::Unit::TestCase
|
|
7
|
+
def setup
|
|
8
|
+
@workbook = WriteXLSX.new(StringIO.new)
|
|
9
|
+
@worksheet = @workbook.add_worksheet('')
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def test_write_sheet_protection_without_password
|
|
13
|
+
@worksheet.protect
|
|
14
|
+
@worksheet.__send__('write_sheet_protection')
|
|
15
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
16
|
+
expected = '<sheetProtection sheet="1" objects="1" scenarios="1" />'
|
|
17
|
+
assert_equal(expected, result)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_write_sheet_protection_with_password
|
|
21
|
+
@worksheet.protect('password')
|
|
22
|
+
@worksheet.__send__('write_sheet_protection')
|
|
23
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
24
|
+
expected = '<sheetProtection password="83AF" sheet="1" objects="1" scenarios="1" />'
|
|
25
|
+
assert_equal(expected, result)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_write_sheet_protection_with_select_locked_cells
|
|
29
|
+
@worksheet.protect('', :select_locked_cells => false)
|
|
30
|
+
@worksheet.__send__('write_sheet_protection')
|
|
31
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
32
|
+
expected = '<sheetProtection sheet="1" objects="1" scenarios="1" selectLockedCells="1" />'
|
|
33
|
+
assert_equal(expected, result)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def test_write_sheet_protection_with_format_cells
|
|
37
|
+
@worksheet.protect('', :format_cells => true)
|
|
38
|
+
@worksheet.__send__('write_sheet_protection')
|
|
39
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
40
|
+
expected = '<sheetProtection sheet="1" objects="1" scenarios="1" formatCells="0" />'
|
|
41
|
+
assert_equal(expected, result)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def test_write_sheet_protection_with_format_columns
|
|
45
|
+
@worksheet.protect('', :format_columns => true)
|
|
46
|
+
@worksheet.__send__('write_sheet_protection')
|
|
47
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
48
|
+
expected = '<sheetProtection sheet="1" objects="1" scenarios="1" formatColumns="0" />'
|
|
49
|
+
assert_equal(expected, result)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def test_write_sheet_protection_with_format_rows
|
|
53
|
+
@worksheet.protect('', :format_rows => true)
|
|
54
|
+
@worksheet.__send__('write_sheet_protection')
|
|
55
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
56
|
+
expected = '<sheetProtection sheet="1" objects="1" scenarios="1" formatRows="0" />'
|
|
57
|
+
assert_equal(expected, result)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def test_write_sheet_protection_with_insert_columns
|
|
61
|
+
@worksheet.protect('', :insert_columns => true)
|
|
62
|
+
@worksheet.__send__('write_sheet_protection')
|
|
63
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
64
|
+
expected = '<sheetProtection sheet="1" objects="1" scenarios="1" insertColumns="0" />'
|
|
65
|
+
assert_equal(expected, result)
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def test_write_sheet_protection_with_insert_rows
|
|
69
|
+
@worksheet.protect('', :insert_rows => true)
|
|
70
|
+
@worksheet.__send__('write_sheet_protection')
|
|
71
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
72
|
+
expected = '<sheetProtection sheet="1" objects="1" scenarios="1" insertRows="0" />'
|
|
73
|
+
assert_equal(expected, result)
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def test_write_sheet_protection_with_insert_hyperlinks
|
|
77
|
+
@worksheet.protect('', :insert_hyperlinks => true)
|
|
78
|
+
@worksheet.__send__('write_sheet_protection')
|
|
79
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
80
|
+
expected = '<sheetProtection sheet="1" objects="1" scenarios="1" insertHyperlinks="0" />'
|
|
81
|
+
assert_equal(expected, result)
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
def test_write_sheet_protection_with_delete_columns
|
|
85
|
+
@worksheet.protect('', :delete_columns => true)
|
|
86
|
+
@worksheet.__send__('write_sheet_protection')
|
|
87
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
88
|
+
expected = '<sheetProtection sheet="1" objects="1" scenarios="1" deleteColumns="0" />'
|
|
89
|
+
assert_equal(expected, result)
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
def test_write_sheet_protection_with_delete_rows
|
|
93
|
+
@worksheet.protect('', :delete_rows => true)
|
|
94
|
+
@worksheet.__send__('write_sheet_protection')
|
|
95
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
96
|
+
expected = '<sheetProtection sheet="1" objects="1" scenarios="1" deleteRows="0" />'
|
|
97
|
+
assert_equal(expected, result)
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def test_write_sheet_protection_with_sort
|
|
101
|
+
@worksheet.protect('', :sort => true)
|
|
102
|
+
@worksheet.__send__('write_sheet_protection')
|
|
103
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
104
|
+
expected = '<sheetProtection sheet="1" objects="1" scenarios="1" sort="0" />'
|
|
105
|
+
assert_equal(expected, result)
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
def test_write_sheet_protection_with_autofilter
|
|
109
|
+
@worksheet.protect('', :autofilter => true)
|
|
110
|
+
@worksheet.__send__('write_sheet_protection')
|
|
111
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
112
|
+
expected = '<sheetProtection sheet="1" objects="1" scenarios="1" autoFilter="0" />'
|
|
113
|
+
assert_equal(expected, result)
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
def test_write_sheet_protection_with_pivot_table
|
|
117
|
+
@worksheet.protect('', :pivot_tables => true)
|
|
118
|
+
@worksheet.__send__('write_sheet_protection')
|
|
119
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
120
|
+
expected = '<sheetProtection sheet="1" objects="1" scenarios="1" pivotTables="0" />'
|
|
121
|
+
assert_equal(expected, result)
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
def test_write_sheet_protection_with_objects
|
|
125
|
+
@worksheet.protect('', :objects => true)
|
|
126
|
+
@worksheet.__send__('write_sheet_protection')
|
|
127
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
128
|
+
expected = '<sheetProtection sheet="1" scenarios="1" />'
|
|
129
|
+
assert_equal(expected, result)
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
def test_write_sheet_protection_with_scenarios
|
|
133
|
+
@worksheet.protect('', :scenarios => true)
|
|
134
|
+
@worksheet.__send__('write_sheet_protection')
|
|
135
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
136
|
+
expected = '<sheetProtection sheet="1" objects="1" />'
|
|
137
|
+
assert_equal(expected, result)
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
def test_write_sheet_protection_with_format_cells_and_select_locked_cells_and_select_unlocked_cells
|
|
141
|
+
@worksheet.protect('', :format_cells => true,
|
|
142
|
+
:select_locked_cells => false, :select_unlocked_cells => false)
|
|
143
|
+
@worksheet.__send__('write_sheet_protection')
|
|
144
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
145
|
+
expected = '<sheetProtection sheet="1" objects="1" scenarios="1" formatCells="0" selectLockedCells="1" selectUnlockedCells="1" />'
|
|
146
|
+
assert_equal(expected, result)
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
def test_write_sheet_protection_with_all
|
|
150
|
+
password = 'drowssap'
|
|
151
|
+
options = {
|
|
152
|
+
:objects => true,
|
|
153
|
+
:scenarios => true,
|
|
154
|
+
:format_cells => true,
|
|
155
|
+
:format_columns => true,
|
|
156
|
+
:format_rows => true,
|
|
157
|
+
:insert_columns => true,
|
|
158
|
+
:insert_rows => true,
|
|
159
|
+
:insert_hyperlinks => true,
|
|
160
|
+
:delete_columns => true,
|
|
161
|
+
:delete_rows => true,
|
|
162
|
+
:select_locked_cells => false,
|
|
163
|
+
:sort => true,
|
|
164
|
+
:autofilter => true,
|
|
165
|
+
:pivot_tables => true,
|
|
166
|
+
:select_unlocked_cells => false
|
|
167
|
+
}
|
|
168
|
+
@worksheet.protect(password, options)
|
|
169
|
+
@worksheet.__send__('write_sheet_protection')
|
|
170
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
171
|
+
expected = '<sheetProtection password="996B" sheet="1" formatCells="0" formatColumns="0" formatRows="0" insertColumns="0" insertRows="0" insertHyperlinks="0" deleteColumns="0" deleteRows="0" selectLockedCells="1" sort="0" autoFilter="0" pivotTables="0" selectUnlockedCells="1" />'
|
|
172
|
+
assert_equal(expected, result)
|
|
173
|
+
end
|
|
174
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
require 'helper'
|
|
3
|
+
require 'write_xlsx'
|
|
4
|
+
require 'stringio'
|
|
5
|
+
|
|
6
|
+
class TestWriteSheetView < Test::Unit::TestCase
|
|
7
|
+
def setup
|
|
8
|
+
@workbook = WriteXLSX.new(StringIO.new)
|
|
9
|
+
@worksheet = @workbook.add_worksheet('')
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def test_write_sheet_view_tab_not_selected
|
|
13
|
+
@worksheet.__send__('write_sheet_view')
|
|
14
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
15
|
+
expected = '<sheetView workbookViewId="0" />'
|
|
16
|
+
assert_equal(expected, result)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def test_write_sheet_view_tab_selected
|
|
20
|
+
@worksheet.select
|
|
21
|
+
@worksheet.__send__('write_sheet_view')
|
|
22
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
23
|
+
expected = '<sheetView tabSelected="1" workbookViewId="0" />'
|
|
24
|
+
assert_equal(expected, result)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def test_write_sheet_view_tab_selected_and_hide_gridlines
|
|
28
|
+
@worksheet.select
|
|
29
|
+
@worksheet.hide_gridlines
|
|
30
|
+
@worksheet.__send__('write_sheet_view')
|
|
31
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
32
|
+
expected = '<sheetView tabSelected="1" workbookViewId="0" />'
|
|
33
|
+
assert_equal(expected, result)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def test_write_sheet_view_tab_selected_and_hide_gridlines_true
|
|
37
|
+
@worksheet.select
|
|
38
|
+
@worksheet.hide_gridlines(true)
|
|
39
|
+
@worksheet.__send__('write_sheet_view')
|
|
40
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
41
|
+
expected = '<sheetView tabSelected="1" workbookViewId="0" />'
|
|
42
|
+
assert_equal(expected, result)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def test_write_sheet_view_tab_selected_and_hide_gridlines_false
|
|
46
|
+
@worksheet.select
|
|
47
|
+
@worksheet.hide_gridlines(false)
|
|
48
|
+
@worksheet.__send__('write_sheet_view')
|
|
49
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
50
|
+
expected = '<sheetView tabSelected="1" workbookViewId="0" />'
|
|
51
|
+
assert_equal(expected, result)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def test_write_sheet_view_tab_selected_and_hide_gridlines_another
|
|
55
|
+
@worksheet.select
|
|
56
|
+
@worksheet.hide_gridlines(2)
|
|
57
|
+
@worksheet.__send__('write_sheet_view')
|
|
58
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
59
|
+
expected = '<sheetView showGridLines="0" tabSelected="1" workbookViewId="0" />'
|
|
60
|
+
assert_equal(expected, result)
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
require 'helper'
|
|
3
|
+
require 'write_xlsx'
|
|
4
|
+
require 'stringio'
|
|
5
|
+
|
|
6
|
+
class TestWriteSheetView1 < Test::Unit::TestCase
|
|
7
|
+
def setup
|
|
8
|
+
@workbook = WriteXLSX.new(StringIO.new)
|
|
9
|
+
@worksheet = @workbook.add_worksheet('')
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def test_write_sheet_views
|
|
13
|
+
@worksheet.select
|
|
14
|
+
@worksheet.__send__('write_sheet_views')
|
|
15
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
16
|
+
expected = '<sheetViews><sheetView tabSelected="1" workbookViewId="0" /></sheetViews>'
|
|
17
|
+
assert_equal(expected, result)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_write_sheet_views_and_zoom_100
|
|
21
|
+
@worksheet.select
|
|
22
|
+
@worksheet.set_zoom(100)
|
|
23
|
+
@worksheet.__send__('write_sheet_views')
|
|
24
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
25
|
+
expected = '<sheetViews><sheetView tabSelected="1" workbookViewId="0" /></sheetViews>'
|
|
26
|
+
assert_equal(expected, result)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def test_write_sheet_views_and_zoom_200
|
|
30
|
+
@worksheet.select
|
|
31
|
+
@worksheet.set_zoom(200)
|
|
32
|
+
@worksheet.__send__('write_sheet_views')
|
|
33
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
34
|
+
expected = '<sheetViews><sheetView tabSelected="1" zoomScale="200" zoomScaleNormal="200" workbookViewId="0" /></sheetViews>'
|
|
35
|
+
assert_equal(expected, result)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def test_write_sheet_views_right_to_left
|
|
39
|
+
@worksheet.select
|
|
40
|
+
@worksheet.right_to_left
|
|
41
|
+
@worksheet.__send__('write_sheet_views')
|
|
42
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
43
|
+
expected = '<sheetViews><sheetView rightToLeft="1" tabSelected="1" workbookViewId="0" /></sheetViews>'
|
|
44
|
+
assert_equal(expected, result)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def test_write_sheet_views_hide_zero
|
|
48
|
+
@worksheet.select
|
|
49
|
+
@worksheet.hide_zero
|
|
50
|
+
@worksheet.__send__('write_sheet_views')
|
|
51
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
52
|
+
expected = '<sheetViews><sheetView showZeros="0" tabSelected="1" workbookViewId="0" /></sheetViews>'
|
|
53
|
+
assert_equal(expected, result)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def test_write_sheet_views_set_page_view
|
|
57
|
+
@worksheet.select
|
|
58
|
+
@worksheet.set_page_view
|
|
59
|
+
@worksheet.__send__('write_sheet_views')
|
|
60
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
61
|
+
expected = '<sheetViews><sheetView tabSelected="1" view="pageLayout" workbookViewId="0" /></sheetViews>'
|
|
62
|
+
assert_equal(expected, result)
|
|
63
|
+
end
|
|
64
|
+
end
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
require 'helper'
|
|
3
|
+
require 'write_xlsx'
|
|
4
|
+
require 'stringio'
|
|
5
|
+
|
|
6
|
+
class TestWriteSheetView2 < Test::Unit::TestCase
|
|
7
|
+
def setup
|
|
8
|
+
@workbook = WriteXLSX.new(StringIO.new)
|
|
9
|
+
@worksheet = @workbook.add_worksheet('')
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def test_write_sheet_views_freeze_panes_1
|
|
13
|
+
@worksheet.select
|
|
14
|
+
@worksheet.freeze_panes(1)
|
|
15
|
+
@worksheet.__send__('write_sheet_views')
|
|
16
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
17
|
+
expected = '<sheetViews><sheetView tabSelected="1" workbookViewId="0"><pane ySplit="1" topLeftCell="A2" activePane="bottomLeft" state="frozen" /><selection pane="bottomLeft" /></sheetView></sheetViews>'
|
|
18
|
+
assert_equal(expected, result)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def test_write_sheet_views_freeze_panes_0_1
|
|
22
|
+
@worksheet.select
|
|
23
|
+
@worksheet.freeze_panes(0, 1)
|
|
24
|
+
@worksheet.__send__('write_sheet_views')
|
|
25
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
26
|
+
expected = '<sheetViews><sheetView tabSelected="1" workbookViewId="0"><pane xSplit="1" topLeftCell="B1" activePane="topRight" state="frozen" /><selection pane="topRight" /></sheetView></sheetViews>'
|
|
27
|
+
assert_equal(expected, result)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def test_write_sheet_views_freeze_panes_1_1
|
|
31
|
+
@worksheet.select
|
|
32
|
+
@worksheet.freeze_panes(1, 1)
|
|
33
|
+
@worksheet.__send__('write_sheet_views')
|
|
34
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
35
|
+
expected = '<sheetViews><sheetView tabSelected="1" workbookViewId="0"><pane xSplit="1" ySplit="1" topLeftCell="B2" activePane="bottomRight" state="frozen" /><selection pane="topRight" activeCell="B1" sqref="B1" /><selection pane="bottomLeft" activeCell="A2" sqref="A2" /><selection pane="bottomRight" /></sheetView></sheetViews>'
|
|
36
|
+
assert_equal(expected, result)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def test_write_sheet_views_freeze_panes_G4
|
|
40
|
+
@worksheet.select
|
|
41
|
+
@worksheet.freeze_panes('G4')
|
|
42
|
+
@worksheet.__send__('write_sheet_views')
|
|
43
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
44
|
+
expected = '<sheetViews><sheetView tabSelected="1" workbookViewId="0"><pane xSplit="6" ySplit="3" topLeftCell="G4" activePane="bottomRight" state="frozen" /><selection pane="topRight" activeCell="G1" sqref="G1" /><selection pane="bottomLeft" activeCell="A4" sqref="A4" /><selection pane="bottomRight" /></sheetView></sheetViews>'
|
|
45
|
+
assert_equal(expected, result)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def test_write_sheet_views_freeze_panes_3_6_3_6_1
|
|
49
|
+
@worksheet.select
|
|
50
|
+
@worksheet.freeze_panes(3, 6, 3, 6, 1)
|
|
51
|
+
@worksheet.__send__('write_sheet_views')
|
|
52
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
53
|
+
expected = '<sheetViews><sheetView tabSelected="1" workbookViewId="0"><pane xSplit="6" ySplit="3" topLeftCell="G4" activePane="bottomRight" state="frozenSplit" /><selection pane="topRight" activeCell="G1" sqref="G1" /><selection pane="bottomLeft" activeCell="A4" sqref="A4" /><selection pane="bottomRight" /></sheetView></sheetViews>';
|
|
54
|
+
assert_equal(expected, result)
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
require 'helper'
|
|
3
|
+
require 'write_xlsx'
|
|
4
|
+
require 'stringio'
|
|
5
|
+
|
|
6
|
+
class TestWriteSheetView3 < Test::Unit::TestCase
|
|
7
|
+
def setup
|
|
8
|
+
@workbook = WriteXLSX.new(StringIO.new)
|
|
9
|
+
@worksheet = @workbook.add_worksheet('')
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def test_write_sheet_views_split_panes_15
|
|
13
|
+
@worksheet.select
|
|
14
|
+
@worksheet.split_panes(15)
|
|
15
|
+
@worksheet.__send__('write_sheet_views')
|
|
16
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
17
|
+
expected = '<sheetViews><sheetView tabSelected="1" workbookViewId="0"><pane ySplit="600" topLeftCell="A2" /><selection pane="bottomLeft" activeCell="A2" sqref="A2" /></sheetView></sheetViews>'
|
|
18
|
+
assert_equal(expected, result)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def test_write_sheet_views_split_panes_30
|
|
22
|
+
@worksheet.select
|
|
23
|
+
@worksheet.split_panes(30)
|
|
24
|
+
@worksheet.__send__('write_sheet_views')
|
|
25
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
26
|
+
expected = '<sheetViews><sheetView tabSelected="1" workbookViewId="0"><pane ySplit="900" topLeftCell="A3" /><selection pane="bottomLeft" activeCell="A3" sqref="A3" /></sheetView></sheetViews>'
|
|
27
|
+
assert_equal(expected, result)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def test_write_sheet_views_split_panes_105
|
|
31
|
+
@worksheet.select
|
|
32
|
+
@worksheet.split_panes(105)
|
|
33
|
+
@worksheet.__send__('write_sheet_views')
|
|
34
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
35
|
+
expected = '<sheetViews><sheetView tabSelected="1" workbookViewId="0"><pane ySplit="2400" topLeftCell="A8" /><selection pane="bottomLeft" activeCell="A8" sqref="A8" /></sheetView></sheetViews>'
|
|
36
|
+
assert_equal(expected, result)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def test_write_sheet_views_split_panes_0_843
|
|
40
|
+
@worksheet.select
|
|
41
|
+
@worksheet.split_panes(0, 8.43)
|
|
42
|
+
@worksheet.__send__('write_sheet_views')
|
|
43
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
44
|
+
expected = '<sheetViews><sheetView tabSelected="1" workbookViewId="0"><pane xSplit="1350" topLeftCell="B1" /><selection pane="topRight" activeCell="B1" sqref="B1" /></sheetView></sheetViews>'
|
|
45
|
+
assert_equal(expected, result)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def test_write_sheet_views_split_panes_0_1757
|
|
49
|
+
@worksheet.select
|
|
50
|
+
@worksheet.split_panes(0, 17.57)
|
|
51
|
+
@worksheet.__send__('write_sheet_views')
|
|
52
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
53
|
+
expected = '<sheetViews><sheetView tabSelected="1" workbookViewId="0"><pane xSplit="2310" topLeftCell="C1" /><selection pane="topRight" activeCell="C1" sqref="C1" /></sheetView></sheetViews>'
|
|
54
|
+
assert_equal(expected, result)
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def test_write_sheet_views_split_panes_0_45
|
|
58
|
+
@worksheet.select
|
|
59
|
+
@worksheet.split_panes(0, 45)
|
|
60
|
+
@worksheet.__send__('write_sheet_views')
|
|
61
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
62
|
+
expected = '<sheetViews><sheetView tabSelected="1" workbookViewId="0"><pane xSplit="5190" topLeftCell="F1" /><selection pane="topRight" activeCell="F1" sqref="F1" /></sheetView></sheetViews>'
|
|
63
|
+
assert_equal(expected, result)
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def test_write_sheet_views_split_panes_15_843
|
|
67
|
+
@worksheet.select
|
|
68
|
+
@worksheet.split_panes(15, 8.43)
|
|
69
|
+
@worksheet.__send__('write_sheet_views')
|
|
70
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
71
|
+
expected = '<sheetViews><sheetView tabSelected="1" workbookViewId="0"><pane xSplit="1350" ySplit="600" topLeftCell="B2" /><selection pane="topRight" activeCell="B1" sqref="B1" /><selection pane="bottomLeft" activeCell="A2" sqref="A2" /><selection pane="bottomRight" activeCell="B2" sqref="B2" /></sheetView></sheetViews>'
|
|
72
|
+
assert_equal(expected, result)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def test_write_sheet_views_split_panes_45_5414
|
|
76
|
+
@worksheet.select
|
|
77
|
+
@worksheet.split_panes(45, 54.14)
|
|
78
|
+
@worksheet.__send__('write_sheet_views')
|
|
79
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
|
80
|
+
expected = '<sheetViews><sheetView tabSelected="1" workbookViewId="0"><pane xSplit="6150" ySplit="1200" topLeftCell="G4" /><selection pane="topRight" activeCell="G1" sqref="G1" /><selection pane="bottomLeft" activeCell="A4" sqref="A4" /><selection pane="bottomRight" activeCell="G4" sqref="G4" /></sheetView></sheetViews>'
|
|
81
|
+
assert_equal(expected, result)
|
|
82
|
+
end
|
|
83
|
+
end
|