write_xlsx 0.64.1 → 0.65.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/README.rdoc +10 -1
  3. data/examples/conditional_format.rb +251 -18
  4. data/examples/demo.rb +2 -3
  5. data/examples/macros.rb +42 -0
  6. data/examples/outline_collapsed.rb +160 -0
  7. data/examples/republic.png +0 -0
  8. data/examples/shape3.rb +2 -2
  9. data/examples/shape4.rb +5 -5
  10. data/examples/shape5.rb +6 -6
  11. data/examples/shape6.rb +6 -6
  12. data/examples/shape7.rb +11 -11
  13. data/examples/shape8.rb +10 -10
  14. data/examples/shape_all.rb +0 -0
  15. data/examples/vbaProject.bin +0 -0
  16. data/lib/write_xlsx/chart.rb +656 -56
  17. data/lib/write_xlsx/chartsheet.rb +26 -2
  18. data/lib/write_xlsx/format.rb +50 -27
  19. data/lib/write_xlsx/formats.rb +32 -0
  20. data/lib/write_xlsx/package/packager.rb +45 -238
  21. data/lib/write_xlsx/package/table.rb +9 -18
  22. data/lib/write_xlsx/package/xml_writer_simple.rb +26 -9
  23. data/lib/write_xlsx/sheets.rb +223 -0
  24. data/lib/write_xlsx/sparkline.rb +140 -4
  25. data/lib/write_xlsx/version.rb +1 -1
  26. data/lib/write_xlsx/workbook.rb +34 -121
  27. data/lib/write_xlsx/worksheet/data_validation.rb +291 -0
  28. data/lib/write_xlsx/worksheet/hyperlink.rb +111 -0
  29. data/lib/write_xlsx/worksheet/page_setup.rb +170 -0
  30. data/lib/write_xlsx/worksheet.rb +1112 -1334
  31. data/test/helper.rb +1 -1
  32. data/test/package/styles/test_styles_01.rb +1 -10
  33. data/test/package/styles/test_styles_02.rb +1 -10
  34. data/test/package/styles/test_styles_03.rb +1 -10
  35. data/test/package/styles/test_styles_04.rb +1 -10
  36. data/test/package/styles/test_styles_05.rb +1 -10
  37. data/test/package/styles/test_styles_06.rb +1 -10
  38. data/test/package/styles/test_styles_07.rb +1 -10
  39. data/test/package/styles/test_styles_08.rb +1 -10
  40. data/test/package/styles/test_styles_09.rb +1 -10
  41. data/test/perl_output/conditional_format.xlsx +0 -0
  42. data/test/perl_output/outline_collapsed.xlsx +0 -0
  43. data/test/perl_output/protection.xlsx +0 -0
  44. data/test/regression/test_chart_gap01.rb +47 -0
  45. data/test/regression/test_chart_gap02.rb +47 -0
  46. data/test/regression/test_chart_gap03.rb +47 -0
  47. data/test/regression/test_format05.rb +26 -0
  48. data/test/regression/test_rich_string12.rb +32 -0
  49. data/test/regression/xlsx_files/chart_gap01.xlsx +0 -0
  50. data/test/regression/xlsx_files/chart_gap02.xlsx +0 -0
  51. data/test/regression/xlsx_files/chart_gap03.xlsx +0 -0
  52. data/test/regression/xlsx_files/format05.xlsx +0 -0
  53. data/test/regression/xlsx_files/rich_string12.xlsx +0 -0
  54. data/test/test_example_match.rb +253 -20
  55. data/test/worksheet/test_set_column.rb +25 -0
  56. data/test/worksheet/test_worksheet_03.rb +1 -1
  57. data/test/worksheet/test_worksheet_04.rb +1 -1
  58. data/test/worksheet/test_write_array_formula_01.rb +7 -0
  59. data/test/worksheet/test_write_col_breaks.rb +2 -2
  60. data/test/worksheet/test_write_col_info.rb +8 -8
  61. data/test/worksheet/test_write_conditional_formatting.rb +4 -4
  62. data/test/worksheet/test_write_formula_does_not_change_formula_string.rb +18 -0
  63. data/test/worksheet/test_write_header_footer.rb +8 -3
  64. data/test/worksheet/test_write_hyperlink.rb +10 -5
  65. data/test/worksheet/test_write_merge_cells.rb +6 -6
  66. data/test/worksheet/test_write_page_set_up_pr.rb +1 -1
  67. data/test/worksheet/test_write_page_setup.rb +1 -1
  68. data/test/worksheet/test_write_row_breaks.rb +2 -2
  69. data/test/worksheet/test_write_row_element.rb +1 -1
  70. data/test/worksheet/test_write_sheet_pr.rb +2 -2
  71. data/test/worksheet/test_write_sheet_view.rb +0 -9
  72. data/test/worksheet/test_write_url.rb +19 -0
  73. data/test/worksheet/test_write_worksheet_attributes.rb +21 -0
  74. metadata +38 -5
  75. data/lib/write_xlsx/worksheet/print_style.rb +0 -51
  76. data/test/worksheet/test_write_worksheet.rb +0 -19
@@ -39,7 +39,7 @@ class TestWriteRow < Test::Unit::TestCase
39
39
  end
40
40
 
41
41
  def test_write_row_6_nil_nil_format
42
- format = Writexlsx::Format.new({}, {}, :xf_index => 1)
42
+ format = Writexlsx::Format.new(Writexlsx::Formats.new, :xf_index => 1)
43
43
  @worksheet.__send__('write_row_element', 6, nil, nil, format)
44
44
  result = @worksheet.instance_variable_get(:@writer).string
45
45
  expected = '<row r="7" s="1" customFormat="1">'
@@ -10,7 +10,7 @@ class TestWriteSheetPr < Test::Unit::TestCase
10
10
  end
11
11
 
12
12
  def test_write_sheet_pr_fit_page
13
- @worksheet.instance_variable_get(:@print_style).fit_page = true
13
+ @worksheet.instance_variable_get(:@page_setup).fit_page = true
14
14
  @worksheet.__send__('write_sheet_pr')
15
15
  result = @worksheet.instance_variable_get(:@writer).string
16
16
  expected = '<sheetPr><pageSetUpPr fitToPage="1"/></sheetPr>'
@@ -26,7 +26,7 @@ class TestWriteSheetPr < Test::Unit::TestCase
26
26
  end
27
27
 
28
28
  def test_write_sheet_pr_fit_page_and_tab_color
29
- @worksheet.instance_variable_get(:@print_style).fit_page = true
29
+ @worksheet.instance_variable_get(:@page_setup).fit_page = true
30
30
  @worksheet.tab_color = 'red'
31
31
  @worksheet.__send__('write_sheet_pr')
32
32
  result = @worksheet.instance_variable_get(:@writer).string
@@ -33,15 +33,6 @@ class TestWriteSheetView < Test::Unit::TestCase
33
33
  assert_equal(expected, result)
34
34
  end
35
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 showGridLines="0" tabSelected="1" workbookViewId="0"/>'
42
- assert_equal(expected, result)
43
- end
44
-
45
36
  def test_write_sheet_view_tab_selected_and_hide_gridlines_false
46
37
  @worksheet.select
47
38
  @worksheet.hide_gridlines(false)
@@ -0,0 +1,19 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+ require 'write_xlsx/workbook'
4
+ require 'write_xlsx/worksheet'
5
+ require 'stringio'
6
+
7
+ class TestWriteUrl < Test::Unit::TestCase
8
+ def setup
9
+ @workbook = WriteXLSX.new(StringIO.new)
10
+ @worksheet = @workbook.add_worksheet('')
11
+ end
12
+
13
+ def test_write_url_does_not_change_url
14
+ url = 'external:c:\temp\foo.xlsx#my_name'.freeze
15
+ assert_nothing_raised do
16
+ @worksheet.write_url('A1', url)
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,21 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+ require 'write_xlsx/workbook'
4
+ require 'write_xlsx/worksheet'
5
+ require 'stringio'
6
+
7
+ class TestWriteWorksheetAttributes < Test::Unit::TestCase
8
+ def setup
9
+ @workbook = WriteXLSX.new(StringIO.new)
10
+ @worksheet = @workbook.add_worksheet('')
11
+ end
12
+
13
+ def test_write_worksheet_attributes
14
+ result = @worksheet.__send__('write_worksheet_attributes')
15
+ expected = [
16
+ 'xmlns', "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
17
+ 'xmlns:r', "http://schemas.openxmlformats.org/officeDocument/2006/relationships"
18
+ ]
19
+ assert_equal(expected, result)
20
+ end
21
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: write_xlsx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.64.1
4
+ version: 0.65.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hideo NAKAMURA
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-03-05 00:00:00.000000000 Z
11
+ date: 2013-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -96,6 +96,7 @@ files:
96
96
  - examples/hide_sheet.rb
97
97
  - examples/hyperlink1.rb
98
98
  - examples/indent.rb
99
+ - examples/macros.rb
99
100
  - examples/merge1.rb
100
101
  - examples/merge2.rb
101
102
  - examples/merge3.rb
@@ -103,10 +104,12 @@ files:
103
104
  - examples/merge5.rb
104
105
  - examples/merge6.rb
105
106
  - examples/outline.rb
107
+ - examples/outline_collapsed.rb
106
108
  - examples/panes.rb
107
109
  - examples/properties.rb
108
110
  - examples/protection.rb
109
111
  - examples/regions.rb
112
+ - examples/republic.png
110
113
  - examples/rich_strings.rb
111
114
  - examples/right_to_left.rb
112
115
  - examples/shape1.rb
@@ -145,6 +148,7 @@ files:
145
148
  - lib/write_xlsx/compatibility.rb
146
149
  - lib/write_xlsx/drawing.rb
147
150
  - lib/write_xlsx/format.rb
151
+ - lib/write_xlsx/formats.rb
148
152
  - lib/write_xlsx/package/app.rb
149
153
  - lib/write_xlsx/package/button.rb
150
154
  - lib/write_xlsx/package/comments.rb
@@ -160,13 +164,16 @@ files:
160
164
  - lib/write_xlsx/package/vml.rb
161
165
  - lib/write_xlsx/package/xml_writer_simple.rb
162
166
  - lib/write_xlsx/shape.rb
167
+ - lib/write_xlsx/sheets.rb
163
168
  - lib/write_xlsx/sparkline.rb
164
169
  - lib/write_xlsx/utility.rb
165
170
  - lib/write_xlsx/version.rb
166
171
  - lib/write_xlsx/workbook.rb
167
172
  - lib/write_xlsx/worksheet.rb
168
173
  - lib/write_xlsx/worksheet/cell_data.rb
169
- - lib/write_xlsx/worksheet/print_style.rb
174
+ - lib/write_xlsx/worksheet/data_validation.rb
175
+ - lib/write_xlsx/worksheet/hyperlink.rb
176
+ - lib/write_xlsx/worksheet/page_setup.rb
170
177
  - lib/write_xlsx/zip_file_utils.rb
171
178
  - test/chart/test_add_series.rb
172
179
  - test/chart/test_process_names.rb
@@ -469,6 +476,9 @@ files:
469
476
  - test/regression/test_chart_format16.rb
470
477
  - test/regression/test_chart_format17.rb
471
478
  - test/regression/test_chart_format18.rb
479
+ - test/regression/test_chart_gap01.rb
480
+ - test/regression/test_chart_gap02.rb
481
+ - test/regression/test_chart_gap03.rb
472
482
  - test/regression/test_chart_gridlines01.rb
473
483
  - test/regression/test_chart_gridlines02.rb
474
484
  - test/regression/test_chart_gridlines03.rb
@@ -567,6 +577,7 @@ files:
567
577
  - test/regression/test_format02.rb
568
578
  - test/regression/test_format03.rb
569
579
  - test/regression/test_format04.rb
580
+ - test/regression/test_format05.rb
570
581
  - test/regression/test_gridlines01.rb
571
582
  - test/regression/test_hyperlink01.rb
572
583
  - test/regression/test_hyperlink02.rb
@@ -641,6 +652,7 @@ files:
641
652
  - test/regression/test_rich_string09.rb
642
653
  - test/regression/test_rich_string10.rb
643
654
  - test/regression/test_rich_string11.rb
655
+ - test/regression/test_rich_string12.rb
644
656
  - test/regression/test_row_col_format01.rb
645
657
  - test/regression/test_row_col_format02.rb
646
658
  - test/regression/test_row_col_format03.rb
@@ -806,6 +818,9 @@ files:
806
818
  - test/regression/xlsx_files/chart_format16.xlsx
807
819
  - test/regression/xlsx_files/chart_format17.xlsx
808
820
  - test/regression/xlsx_files/chart_format18.xlsx
821
+ - test/regression/xlsx_files/chart_gap01.xlsx
822
+ - test/regression/xlsx_files/chart_gap02.xlsx
823
+ - test/regression/xlsx_files/chart_gap03.xlsx
809
824
  - test/regression/xlsx_files/chart_gridlines01.xlsx
810
825
  - test/regression/xlsx_files/chart_gridlines02.xlsx
811
826
  - test/regression/xlsx_files/chart_gridlines03.xlsx
@@ -903,6 +918,7 @@ files:
903
918
  - test/regression/xlsx_files/format02.xlsx
904
919
  - test/regression/xlsx_files/format03.xlsx
905
920
  - test/regression/xlsx_files/format04.xlsx
921
+ - test/regression/xlsx_files/format05.xlsx
906
922
  - test/regression/xlsx_files/gridlines01.xlsx
907
923
  - test/regression/xlsx_files/hyperlink01.xlsx
908
924
  - test/regression/xlsx_files/hyperlink02.xlsx
@@ -977,6 +993,7 @@ files:
977
993
  - test/regression/xlsx_files/rich_string09.xlsx
978
994
  - test/regression/xlsx_files/rich_string10.xlsx
979
995
  - test/regression/xlsx_files/rich_string11.xlsx
996
+ - test/regression/xlsx_files/rich_string12.xlsx
980
997
  - test/regression/xlsx_files/row_col_format01.xlsx
981
998
  - test/regression/xlsx_files/row_col_format02.xlsx
982
999
  - test/regression/xlsx_files/row_col_format03.xlsx
@@ -1062,6 +1079,7 @@ files:
1062
1079
  - test/worksheet/test_parse_filter_expression.rb
1063
1080
  - test/worksheet/test_position_object.rb
1064
1081
  - test/worksheet/test_repeat_formula.rb
1082
+ - test/worksheet/test_set_column.rb
1065
1083
  - test/worksheet/test_sparkline_01.rb
1066
1084
  - test/worksheet/test_sparkline_02.rb
1067
1085
  - test/worksheet/test_sparkline_03.rb
@@ -1093,6 +1111,7 @@ files:
1093
1111
  - test/worksheet/test_write_filter.rb
1094
1112
  - test/worksheet/test_write_filter_column.rb
1095
1113
  - test/worksheet/test_write_filters.rb
1114
+ - test/worksheet/test_write_formula_does_not_change_formula_string.rb
1096
1115
  - test/worksheet/test_write_header_footer.rb
1097
1116
  - test/worksheet/test_write_hyperlink.rb
1098
1117
  - test/worksheet/test_write_legacy_drawing.rb
@@ -1124,7 +1143,8 @@ files:
1124
1143
  - test/worksheet/test_write_sheet_view8.rb
1125
1144
  - test/worksheet/test_write_sheet_view9.rb
1126
1145
  - test/worksheet/test_write_tab_color.rb
1127
- - test/worksheet/test_write_worksheet.rb
1146
+ - test/worksheet/test_write_url.rb
1147
+ - test/worksheet/test_write_worksheet_attributes.rb
1128
1148
  - write_xlsx.gemspec
1129
1149
  homepage: http://github.com/cxn03651/write_xlsx#readme
1130
1150
  licenses: []
@@ -1451,6 +1471,9 @@ test_files:
1451
1471
  - test/regression/test_chart_format16.rb
1452
1472
  - test/regression/test_chart_format17.rb
1453
1473
  - test/regression/test_chart_format18.rb
1474
+ - test/regression/test_chart_gap01.rb
1475
+ - test/regression/test_chart_gap02.rb
1476
+ - test/regression/test_chart_gap03.rb
1454
1477
  - test/regression/test_chart_gridlines01.rb
1455
1478
  - test/regression/test_chart_gridlines02.rb
1456
1479
  - test/regression/test_chart_gridlines03.rb
@@ -1549,6 +1572,7 @@ test_files:
1549
1572
  - test/regression/test_format02.rb
1550
1573
  - test/regression/test_format03.rb
1551
1574
  - test/regression/test_format04.rb
1575
+ - test/regression/test_format05.rb
1552
1576
  - test/regression/test_gridlines01.rb
1553
1577
  - test/regression/test_hyperlink01.rb
1554
1578
  - test/regression/test_hyperlink02.rb
@@ -1623,6 +1647,7 @@ test_files:
1623
1647
  - test/regression/test_rich_string09.rb
1624
1648
  - test/regression/test_rich_string10.rb
1625
1649
  - test/regression/test_rich_string11.rb
1650
+ - test/regression/test_rich_string12.rb
1626
1651
  - test/regression/test_row_col_format01.rb
1627
1652
  - test/regression/test_row_col_format02.rb
1628
1653
  - test/regression/test_row_col_format03.rb
@@ -1788,6 +1813,9 @@ test_files:
1788
1813
  - test/regression/xlsx_files/chart_format16.xlsx
1789
1814
  - test/regression/xlsx_files/chart_format17.xlsx
1790
1815
  - test/regression/xlsx_files/chart_format18.xlsx
1816
+ - test/regression/xlsx_files/chart_gap01.xlsx
1817
+ - test/regression/xlsx_files/chart_gap02.xlsx
1818
+ - test/regression/xlsx_files/chart_gap03.xlsx
1791
1819
  - test/regression/xlsx_files/chart_gridlines01.xlsx
1792
1820
  - test/regression/xlsx_files/chart_gridlines02.xlsx
1793
1821
  - test/regression/xlsx_files/chart_gridlines03.xlsx
@@ -1885,6 +1913,7 @@ test_files:
1885
1913
  - test/regression/xlsx_files/format02.xlsx
1886
1914
  - test/regression/xlsx_files/format03.xlsx
1887
1915
  - test/regression/xlsx_files/format04.xlsx
1916
+ - test/regression/xlsx_files/format05.xlsx
1888
1917
  - test/regression/xlsx_files/gridlines01.xlsx
1889
1918
  - test/regression/xlsx_files/hyperlink01.xlsx
1890
1919
  - test/regression/xlsx_files/hyperlink02.xlsx
@@ -1959,6 +1988,7 @@ test_files:
1959
1988
  - test/regression/xlsx_files/rich_string09.xlsx
1960
1989
  - test/regression/xlsx_files/rich_string10.xlsx
1961
1990
  - test/regression/xlsx_files/rich_string11.xlsx
1991
+ - test/regression/xlsx_files/rich_string12.xlsx
1962
1992
  - test/regression/xlsx_files/row_col_format01.xlsx
1963
1993
  - test/regression/xlsx_files/row_col_format02.xlsx
1964
1994
  - test/regression/xlsx_files/row_col_format03.xlsx
@@ -2044,6 +2074,7 @@ test_files:
2044
2074
  - test/worksheet/test_parse_filter_expression.rb
2045
2075
  - test/worksheet/test_position_object.rb
2046
2076
  - test/worksheet/test_repeat_formula.rb
2077
+ - test/worksheet/test_set_column.rb
2047
2078
  - test/worksheet/test_sparkline_01.rb
2048
2079
  - test/worksheet/test_sparkline_02.rb
2049
2080
  - test/worksheet/test_sparkline_03.rb
@@ -2075,6 +2106,7 @@ test_files:
2075
2106
  - test/worksheet/test_write_filter.rb
2076
2107
  - test/worksheet/test_write_filter_column.rb
2077
2108
  - test/worksheet/test_write_filters.rb
2109
+ - test/worksheet/test_write_formula_does_not_change_formula_string.rb
2078
2110
  - test/worksheet/test_write_header_footer.rb
2079
2111
  - test/worksheet/test_write_hyperlink.rb
2080
2112
  - test/worksheet/test_write_legacy_drawing.rb
@@ -2106,4 +2138,5 @@ test_files:
2106
2138
  - test/worksheet/test_write_sheet_view8.rb
2107
2139
  - test/worksheet/test_write_sheet_view9.rb
2108
2140
  - test/worksheet/test_write_tab_color.rb
2109
- - test/worksheet/test_write_worksheet.rb
2141
+ - test/worksheet/test_write_url.rb
2142
+ - test/worksheet/test_write_worksheet_attributes.rb
@@ -1,51 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- module Writexlsx
4
- class Worksheet
5
- class PrintStyle # :nodoc:
6
- attr_accessor :margin_left, :margin_right, :margin_top, :margin_bottom # :nodoc:
7
- attr_accessor :margin_header, :margin_footer # :nodoc:
8
- attr_accessor :repeat_rows, :repeat_cols, :print_area # :nodoc:
9
- attr_accessor :hbreaks, :vbreaks, :scale # :nodoc:
10
- attr_accessor :fit_page, :fit_width, :fit_height, :page_setup_changed # :nodoc:
11
- attr_accessor :across # :nodoc:
12
- attr_accessor :orientation # :nodoc:
13
-
14
- def initialize # :nodoc:
15
- @margin_left = 0.7
16
- @margin_right = 0.7
17
- @margin_top = 0.75
18
- @margin_bottom = 0.75
19
- @margin_header = 0.3
20
- @margin_footer = 0.3
21
- @repeat_rows = ''
22
- @repeat_cols = ''
23
- @print_area = ''
24
- @hbreaks = []
25
- @vbreaks = []
26
- @scale = 100
27
- @fit_page = false
28
- @fit_width = nil
29
- @fit_height = nil
30
- @page_setup_changed = false
31
- @across = false
32
- @orientation = true
33
- end
34
-
35
- def attributes # :nodoc:
36
- [
37
- 'left', @margin_left,
38
- 'right', @margin_right,
39
- 'top', @margin_top,
40
- 'bottom', @margin_bottom,
41
- 'header', @margin_header,
42
- 'footer', @margin_footer
43
- ]
44
- end
45
-
46
- def orientation?
47
- !!@orientation
48
- end
49
- end
50
- end
51
- end
@@ -1,19 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- require 'helper'
3
- require 'write_xlsx/workbook'
4
- require 'write_xlsx/worksheet'
5
- require 'stringio'
6
-
7
- class TestWriteWorksheet < Test::Unit::TestCase
8
- def setup
9
- @workbook = WriteXLSX.new(StringIO.new)
10
- @worksheet = @workbook.add_worksheet('')
11
- end
12
-
13
- def test_write_worksheet
14
- @worksheet.__send__('write_worksheet')
15
- result = @worksheet.instance_variable_get(:@writer).string
16
- expected = '<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">'
17
- assert_equal(expected, result)
18
- end
19
- end