writeexcel 0.5.0 → 0.6.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 (130) hide show
  1. data/.gitattributes +1 -1
  2. data/.gitignore +24 -24
  3. data/README.rdoc +34 -55
  4. data/VERSION +1 -1
  5. data/charts/chartex.rb +316 -316
  6. data/charts/demo1.rb +46 -46
  7. data/charts/demo2.rb +65 -65
  8. data/charts/demo3.rb +117 -117
  9. data/charts/demo4.rb +119 -119
  10. data/charts/demo5.rb +48 -48
  11. data/examples/a_simple.rb +43 -43
  12. data/examples/autofilter.rb +265 -265
  13. data/examples/bigfile.rb +30 -30
  14. data/examples/chart_area.rb +121 -121
  15. data/examples/chart_bar.rb +120 -120
  16. data/examples/chart_column.rb +120 -120
  17. data/examples/chart_line.rb +120 -120
  18. data/examples/chart_pie.rb +108 -108
  19. data/examples/chart_scatter.rb +121 -121
  20. data/examples/chart_stock.rb +148 -148
  21. data/examples/chess.rb +142 -142
  22. data/examples/colors.rb +129 -129
  23. data/examples/comments1.rb +27 -27
  24. data/examples/comments2.rb +352 -352
  25. data/examples/copyformat.rb +52 -52
  26. data/examples/data_validate.rb +279 -279
  27. data/examples/date_time.rb +87 -87
  28. data/examples/defined_name.rb +32 -32
  29. data/examples/demo.rb +124 -124
  30. data/examples/diag_border.rb +36 -36
  31. data/examples/formats.rb +490 -490
  32. data/examples/formula_result.rb +30 -30
  33. data/examples/header.rb +137 -137
  34. data/examples/hide_sheet.rb +29 -29
  35. data/examples/hyperlink.rb +43 -43
  36. data/examples/images.rb +63 -63
  37. data/examples/indent.rb +31 -31
  38. data/examples/merge1.rb +40 -40
  39. data/examples/merge2.rb +45 -45
  40. data/examples/merge3.rb +66 -66
  41. data/examples/merge4.rb +83 -83
  42. data/examples/merge5.rb +80 -80
  43. data/examples/merge6.rb +67 -67
  44. data/examples/outline.rb +255 -255
  45. data/examples/outline_collapsed.rb +209 -209
  46. data/examples/panes.rb +113 -113
  47. data/examples/properties.rb +34 -34
  48. data/examples/properties_jp.rb +33 -33
  49. data/examples/protection.rb +47 -47
  50. data/examples/regions.rb +53 -53
  51. data/examples/repeat.rb +43 -43
  52. data/examples/right_to_left.rb +27 -27
  53. data/examples/row_wrap.rb +53 -53
  54. data/examples/stats.rb +74 -74
  55. data/examples/stocks.rb +81 -81
  56. data/examples/tab_colors.rb +31 -31
  57. data/examples/utf8.rb +15 -15
  58. data/examples/write_arrays.rb +83 -83
  59. data/lib/writeexcel/biffwriter.rb +232 -232
  60. data/lib/writeexcel/caller_info.rb +12 -12
  61. data/lib/writeexcel/chart.rb +2190 -2177
  62. data/lib/writeexcel/charts/area.rb +154 -154
  63. data/lib/writeexcel/charts/bar.rb +177 -177
  64. data/lib/writeexcel/charts/column.rb +156 -156
  65. data/lib/writeexcel/charts/external.rb +66 -66
  66. data/lib/writeexcel/charts/line.rb +154 -154
  67. data/lib/writeexcel/charts/pie.rb +169 -169
  68. data/lib/writeexcel/charts/scatter.rb +192 -192
  69. data/lib/writeexcel/charts/stock.rb +213 -213
  70. data/lib/writeexcel/colors.rb +64 -64
  71. data/lib/writeexcel/compatibility.rb +0 -255
  72. data/lib/writeexcel/debug_info.rb +37 -33
  73. data/lib/writeexcel/excelformulaparser.rb +587 -587
  74. data/lib/writeexcel/format.rb +13 -4
  75. data/lib/writeexcel/formula.rb +26 -9
  76. data/lib/writeexcel/helper.rb +68 -64
  77. data/lib/writeexcel/olewriter.rb +311 -311
  78. data/lib/writeexcel/properties.rb +242 -240
  79. data/lib/writeexcel/storage_lite.rb +984 -978
  80. data/lib/writeexcel/workbook.rb +3210 -3192
  81. data/lib/writeexcel/worksheet.rb +143 -51
  82. data/lib/writeexcel/write_file.rb +44 -40
  83. data/lib/writeexcel.rb +1159 -1159
  84. data/test/helper.rb +31 -28
  85. data/test/perl_output/README +31 -31
  86. data/test/test_00_IEEE_double.rb +13 -13
  87. data/test/test_01_add_worksheet.rb +10 -10
  88. data/test/test_02_merge_formats.rb +53 -53
  89. data/test/test_04_dimensions.rb +392 -392
  90. data/test/test_05_rows.rb +179 -179
  91. data/test/test_06_extsst.rb +77 -77
  92. data/test/test_11_date_time.rb +479 -479
  93. data/test/test_12_date_only.rb +501 -501
  94. data/test/test_13_date_seconds.rb +481 -481
  95. data/test/test_21_escher.rb +637 -637
  96. data/test/test_22_mso_drawing_group.rb +745 -745
  97. data/test/test_23_note.rb +73 -73
  98. data/test/test_24_txo.rb +75 -75
  99. data/test/test_25_position_object.rb +84 -84
  100. data/test/test_26_autofilter.rb +314 -314
  101. data/test/test_27_autofilter.rb +131 -131
  102. data/test/test_28_autofilter.rb +161 -161
  103. data/test/test_29_process_jpg.rb +683 -683
  104. data/test/test_30_validation_dval.rb +77 -77
  105. data/test/test_31_validation_dv_strings.rb +126 -126
  106. data/test/test_32_validation_dv_formula.rb +206 -206
  107. data/test/test_40_property_types.rb +188 -188
  108. data/test/test_41_properties.rb +235 -235
  109. data/test/test_42_set_properties.rb +437 -437
  110. data/test/test_50_name_stored.rb +299 -299
  111. data/test/test_51_name_print_area.rb +357 -357
  112. data/test/test_52_name_print_titles.rb +454 -454
  113. data/test/test_53_autofilter.rb +203 -203
  114. data/test/test_60_chart_generic.rb +578 -578
  115. data/test/test_61_chart_subclasses.rb +95 -95
  116. data/test/test_62_chart_formats.rb +272 -272
  117. data/test/test_63_chart_area_formats.rb +649 -649
  118. data/test/test_biff.rb +75 -75
  119. data/test/test_compatibility.rb +12 -627
  120. data/test/test_example_match.rb +3144 -3144
  121. data/test/test_formula.rb +61 -61
  122. data/test/test_ole.rb +106 -106
  123. data/test/test_storage_lite.rb +125 -125
  124. data/test/test_workbook.rb +139 -139
  125. data/test/test_worksheet.rb +110 -110
  126. data/utils/add_magic_comment.rb +80 -80
  127. data/writeexcel.gemspec +4 -6
  128. data/writeexcel.rdoc +58 -15
  129. metadata +9 -6
  130. data/test/test_new_encoding.rb +0 -205
@@ -1,30 +1,30 @@
1
- #!/usr/bin/ruby -w
2
- # -*- coding: utf-8 -*-
3
-
4
- #######################################################################
5
- #
6
- # Example of how to write Spreadsheet::WriteExcel formulas with a user
7
- # specified result.
8
- #
9
- # This is generally only required when writing a spreadsheet for an
10
- # application other than Excel where the formula isn't evaluated.
11
- #
12
- # reverse('©'), August 2005, John McNamara, jmcnamara@cpan.org
13
- #
14
- # original written in Perl by John McNamara
15
- # converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
16
- #
17
-
18
- require 'writeexcel'
19
-
20
- workbook = WriteExcel.new('formula_result.xls')
21
- worksheet = workbook.add_worksheet()
22
- format = workbook.add_format(:color => 'blue')
23
-
24
- worksheet.write('A1', '=1+2')
25
- worksheet.write('A2', '=1+2', format, 4)
26
- worksheet.write('A3', '="ABC"', nil, 'DEF')
27
- worksheet.write('A4', '=IF(A1 > 1, TRUE, FALSE)', nil, 'TRUE')
28
- worksheet.write('A5', '=1/0', nil, '#DIV/0!')
29
-
30
- workbook.close
1
+ #!/usr/bin/ruby -w
2
+ # -*- coding: utf-8 -*-
3
+
4
+ #######################################################################
5
+ #
6
+ # Example of how to write Spreadsheet::WriteExcel formulas with a user
7
+ # specified result.
8
+ #
9
+ # This is generally only required when writing a spreadsheet for an
10
+ # application other than Excel where the formula isn't evaluated.
11
+ #
12
+ # reverse('©'), August 2005, John McNamara, jmcnamara@cpan.org
13
+ #
14
+ # original written in Perl by John McNamara
15
+ # converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
16
+ #
17
+
18
+ require 'writeexcel'
19
+
20
+ workbook = WriteExcel.new('formula_result.xls')
21
+ worksheet = workbook.add_worksheet()
22
+ format = workbook.add_format(:color => 'blue')
23
+
24
+ worksheet.write('A1', '=1+2')
25
+ worksheet.write('A2', '=1+2', format, 4)
26
+ worksheet.write('A3', '="ABC"', nil, 'DEF')
27
+ worksheet.write('A4', '=IF(A1 > 1, TRUE, FALSE)', nil, 'TRUE')
28
+ worksheet.write('A5', '=1/0', nil, '#DIV/0!')
29
+
30
+ workbook.close
data/examples/header.rb CHANGED
@@ -1,137 +1,137 @@
1
- #!/usr/bin/ruby -w
2
- # -*- coding: utf-8 -*-
3
-
4
- ######################################################################
5
- #
6
- # This program shows several examples of how to set up headers and
7
- # footers with WriteExcel.
8
- #
9
- # The control characters used in the header/footer strings are:
10
- #
11
- # Control Category Description
12
- # ======= ======== ===========
13
- # &L Justification Left
14
- # &C Center
15
- # &R Right
16
- #
17
- # &P Information Page number
18
- # &N Total number of pages
19
- # &D Date
20
- # &T Time
21
- # &F File name
22
- # &A Worksheet name
23
- #
24
- # &fontsize Font Font size
25
- # &"font,style" Font name and style
26
- # &U Single underline
27
- # &E Double underline
28
- # &S Strikethrough
29
- # &X Superscript
30
- # &Y Subscript
31
- #
32
- # && Miscellaneous Literal ampersand &
33
- #
34
- #
35
- # reverse('©'), March 2002, John McNamara, jmcnamara@cpan.org
36
- #
37
- # original written in Perl by John McNamara
38
- # converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
39
- #
40
-
41
- require 'rubygems'
42
- require 'writeexcel'
43
-
44
- workbook = WriteExcel.new("headers.xls")
45
- preview = "Select Print Preview to see the header and footer"
46
-
47
-
48
- ######################################################################
49
- #
50
- # A simple example to start
51
- #
52
- worksheet1 = workbook.add_worksheet('Simple')
53
-
54
- header1 = '&CHere is some centred text.'
55
-
56
- footer1 = '&LHere is some left aligned text.'
57
-
58
-
59
- worksheet1.set_header(header1)
60
- worksheet1.set_footer(footer1)
61
-
62
- worksheet1.set_column('A:A', 50)
63
- worksheet1.write('A1', preview)
64
-
65
-
66
- ######################################################################
67
- #
68
- # This is an example of some of the header/footer variables.
69
- #
70
- worksheet2 = workbook.add_worksheet('Variables')
71
-
72
- header2 = '&LPage &P of &N'+
73
- '&CFilename: &F' +
74
- '&RSheetname: &A'
75
-
76
- footer2 = '&LCurrent date: &D'+
77
- '&RCurrent time: &T'
78
-
79
- worksheet2.set_header(header2)
80
- worksheet2.set_footer(footer2)
81
-
82
-
83
- worksheet2.set_column('A:A', 50)
84
- worksheet2.write('A1', preview)
85
- worksheet2.write('A21', "Next sheet")
86
- worksheet2.set_h_pagebreaks(20)
87
-
88
-
89
- ######################################################################
90
- #
91
- # This example shows how to use more than one font
92
- #
93
- worksheet3 = workbook.add_worksheet('Mixed fonts')
94
-
95
- header3 = '&C' +
96
- '&"Courier New,Bold"Hello ' +
97
- '&"Arial,Italic"World'
98
-
99
- footer3 = '&C' +
100
- '&"Symbol"e' +
101
- '&"Arial" = mc&X2'
102
-
103
- worksheet3.set_header(header3)
104
- worksheet3.set_footer(footer3)
105
-
106
- worksheet3.set_column('A:A', 50)
107
- worksheet3.write('A1', preview)
108
-
109
-
110
- ######################################################################
111
- #
112
- # Example of line wrapping
113
- #
114
- worksheet4 = workbook.add_worksheet('Word wrap')
115
-
116
- header4 = "&CHeading 1\nHeading 2\nHeading 3"
117
-
118
- worksheet4.set_header(header4)
119
-
120
- worksheet4.set_column('A:A', 50)
121
- worksheet4.write('A1', preview)
122
-
123
-
124
- ######################################################################
125
- #
126
- # Example of inserting a literal ampersand &
127
- #
128
- worksheet5 = workbook.add_worksheet('Ampersand')
129
-
130
- header5 = "&CCuriouser && Curiouser - Attorneys at Law"
131
-
132
- worksheet5.set_header(header5)
133
-
134
- worksheet5.set_column('A:A', 50)
135
- worksheet5.write('A1', preview)
136
-
137
- workbook.close
1
+ #!/usr/bin/ruby -w
2
+ # -*- coding: utf-8 -*-
3
+
4
+ ######################################################################
5
+ #
6
+ # This program shows several examples of how to set up headers and
7
+ # footers with WriteExcel.
8
+ #
9
+ # The control characters used in the header/footer strings are:
10
+ #
11
+ # Control Category Description
12
+ # ======= ======== ===========
13
+ # &L Justification Left
14
+ # &C Center
15
+ # &R Right
16
+ #
17
+ # &P Information Page number
18
+ # &N Total number of pages
19
+ # &D Date
20
+ # &T Time
21
+ # &F File name
22
+ # &A Worksheet name
23
+ #
24
+ # &fontsize Font Font size
25
+ # &"font,style" Font name and style
26
+ # &U Single underline
27
+ # &E Double underline
28
+ # &S Strikethrough
29
+ # &X Superscript
30
+ # &Y Subscript
31
+ #
32
+ # && Miscellaneous Literal ampersand &
33
+ #
34
+ #
35
+ # reverse('©'), March 2002, John McNamara, jmcnamara@cpan.org
36
+ #
37
+ # original written in Perl by John McNamara
38
+ # converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
39
+ #
40
+
41
+ require 'rubygems'
42
+ require 'writeexcel'
43
+
44
+ workbook = WriteExcel.new("headers.xls")
45
+ preview = "Select Print Preview to see the header and footer"
46
+
47
+
48
+ ######################################################################
49
+ #
50
+ # A simple example to start
51
+ #
52
+ worksheet1 = workbook.add_worksheet('Simple')
53
+
54
+ header1 = '&CHere is some centred text.'
55
+
56
+ footer1 = '&LHere is some left aligned text.'
57
+
58
+
59
+ worksheet1.set_header(header1)
60
+ worksheet1.set_footer(footer1)
61
+
62
+ worksheet1.set_column('A:A', 50)
63
+ worksheet1.write('A1', preview)
64
+
65
+
66
+ ######################################################################
67
+ #
68
+ # This is an example of some of the header/footer variables.
69
+ #
70
+ worksheet2 = workbook.add_worksheet('Variables')
71
+
72
+ header2 = '&LPage &P of &N'+
73
+ '&CFilename: &F' +
74
+ '&RSheetname: &A'
75
+
76
+ footer2 = '&LCurrent date: &D'+
77
+ '&RCurrent time: &T'
78
+
79
+ worksheet2.set_header(header2)
80
+ worksheet2.set_footer(footer2)
81
+
82
+
83
+ worksheet2.set_column('A:A', 50)
84
+ worksheet2.write('A1', preview)
85
+ worksheet2.write('A21', "Next sheet")
86
+ worksheet2.set_h_pagebreaks(20)
87
+
88
+
89
+ ######################################################################
90
+ #
91
+ # This example shows how to use more than one font
92
+ #
93
+ worksheet3 = workbook.add_worksheet('Mixed fonts')
94
+
95
+ header3 = '&C' +
96
+ '&"Courier New,Bold"Hello ' +
97
+ '&"Arial,Italic"World'
98
+
99
+ footer3 = '&C' +
100
+ '&"Symbol"e' +
101
+ '&"Arial" = mc&X2'
102
+
103
+ worksheet3.set_header(header3)
104
+ worksheet3.set_footer(footer3)
105
+
106
+ worksheet3.set_column('A:A', 50)
107
+ worksheet3.write('A1', preview)
108
+
109
+
110
+ ######################################################################
111
+ #
112
+ # Example of line wrapping
113
+ #
114
+ worksheet4 = workbook.add_worksheet('Word wrap')
115
+
116
+ header4 = "&CHeading 1\nHeading 2\nHeading 3"
117
+
118
+ worksheet4.set_header(header4)
119
+
120
+ worksheet4.set_column('A:A', 50)
121
+ worksheet4.write('A1', preview)
122
+
123
+
124
+ ######################################################################
125
+ #
126
+ # Example of inserting a literal ampersand &
127
+ #
128
+ worksheet5 = workbook.add_worksheet('Ampersand')
129
+
130
+ header5 = "&CCuriouser && Curiouser - Attorneys at Law"
131
+
132
+ worksheet5.set_header(header5)
133
+
134
+ worksheet5.set_column('A:A', 50)
135
+ worksheet5.write('A1', preview)
136
+
137
+ workbook.close
@@ -1,29 +1,29 @@
1
- #!/usr/bin/ruby -w
2
- # -*- coding: utf-8 -*-
3
-
4
- #######################################################################
5
- #
6
- # Example of how to hide a worksheet with WriteExcel.
7
- #
8
- # reverse('©'), April 2005, John McNamara, jmcnamara@cpan.org
9
- #
10
- # original written in Perl by John McNamara
11
- # converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
12
- #
13
- require 'rubygems'
14
- require 'writeexcel'
15
-
16
-
17
- workbook = WriteExcel.new('hidden.xls')
18
- worksheet1 = workbook.add_worksheet
19
- worksheet2 = workbook.add_worksheet
20
- worksheet3 = workbook.add_worksheet
21
-
22
- # Sheet2 won't be visible until it is unhidden in Excel.
23
- worksheet2.hide
24
-
25
- worksheet1.write(0, 0, 'Sheet2 is hidden')
26
- worksheet2.write(0, 0, 'How did you find me?')
27
- worksheet3.write(0, 0, 'Sheet2 is hidden')
28
-
29
- workbook.close
1
+ #!/usr/bin/ruby -w
2
+ # -*- coding: utf-8 -*-
3
+
4
+ #######################################################################
5
+ #
6
+ # Example of how to hide a worksheet with WriteExcel.
7
+ #
8
+ # reverse('©'), April 2005, John McNamara, jmcnamara@cpan.org
9
+ #
10
+ # original written in Perl by John McNamara
11
+ # converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
12
+ #
13
+ require 'rubygems'
14
+ require 'writeexcel'
15
+
16
+
17
+ workbook = WriteExcel.new('hidden.xls')
18
+ worksheet1 = workbook.add_worksheet
19
+ worksheet2 = workbook.add_worksheet
20
+ worksheet3 = workbook.add_worksheet
21
+
22
+ # Sheet2 won't be visible until it is unhidden in Excel.
23
+ worksheet2.hide
24
+
25
+ worksheet1.write(0, 0, 'Sheet2 is hidden')
26
+ worksheet2.write(0, 0, 'How did you find me?')
27
+ worksheet3.write(0, 0, 'Sheet2 is hidden')
28
+
29
+ workbook.close
@@ -1,43 +1,43 @@
1
- #!/usr/bin/ruby -w
2
- # -*- coding: utf-8 -*-
3
- ###############################################################################
4
- #
5
- # Example of how to use the WriteExcel module to write hyperlinks
6
- #
7
- # See also hyperlink2.pl for worksheet URL examples.
8
- #
9
- # reverse('©'), March 2001, John McNamara, jmcnamara@cpan.org
10
- #
11
- # original written in Perl by John McNamara
12
- # converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
13
- #
14
- require 'rubygems'
15
- require 'writeexcel'
16
-
17
- # Create a new workbook and add a worksheet
18
- workbook = WriteExcel.new("hyperlink.xls")
19
- worksheet = workbook.add_worksheet('Hyperlinks')
20
-
21
- # Format the first column
22
- worksheet.set_column('A:A', 30)
23
- worksheet.set_selection('B1')
24
-
25
-
26
- # Add a sample format
27
- format = workbook.add_format
28
- format.set_size(12)
29
- format.set_bold
30
- format.set_color('red')
31
- format.set_underline
32
-
33
-
34
- # Write some hyperlinks
35
- worksheet.write('A1', 'http://www.perl.com/' )
36
- worksheet.write('A3', 'http://www.perl.com/', 'Perl home' )
37
- worksheet.write('A5', 'http://www.perl.com/', nil, format)
38
- worksheet.write('A7', 'mailto:jmcnamara@cpan.org', 'Mail me')
39
-
40
- # Write a URL that isn't a hyperlink
41
- worksheet.write_string('A9', 'http://www.perl.com/')
42
-
43
- workbook.close
1
+ #!/usr/bin/ruby -w
2
+ # -*- coding: utf-8 -*-
3
+ ###############################################################################
4
+ #
5
+ # Example of how to use the WriteExcel module to write hyperlinks
6
+ #
7
+ # See also hyperlink2.pl for worksheet URL examples.
8
+ #
9
+ # reverse('©'), March 2001, John McNamara, jmcnamara@cpan.org
10
+ #
11
+ # original written in Perl by John McNamara
12
+ # converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
13
+ #
14
+ require 'rubygems'
15
+ require 'writeexcel'
16
+
17
+ # Create a new workbook and add a worksheet
18
+ workbook = WriteExcel.new("hyperlink.xls")
19
+ worksheet = workbook.add_worksheet('Hyperlinks')
20
+
21
+ # Format the first column
22
+ worksheet.set_column('A:A', 30)
23
+ worksheet.set_selection('B1')
24
+
25
+
26
+ # Add a sample format
27
+ format = workbook.add_format
28
+ format.set_size(12)
29
+ format.set_bold
30
+ format.set_color('red')
31
+ format.set_underline
32
+
33
+
34
+ # Write some hyperlinks
35
+ worksheet.write('A1', 'http://www.perl.com/' )
36
+ worksheet.write('A3', 'http://www.perl.com/', 'Perl home' )
37
+ worksheet.write('A5', 'http://www.perl.com/', nil, format)
38
+ worksheet.write('A7', 'mailto:jmcnamara@cpan.org', 'Mail me')
39
+
40
+ # Write a URL that isn't a hyperlink
41
+ worksheet.write_string('A9', 'http://www.perl.com/')
42
+
43
+ workbook.close
data/examples/images.rb CHANGED
@@ -1,63 +1,63 @@
1
- #!/usr/bin/ruby -w
2
- # -*- coding: utf-8 -*-
3
-
4
- #######################################################################
5
- #
6
- # Example of how to insert images into an Excel worksheet using the
7
- # WriteExcel insert_image() method.
8
- #
9
- # reverse('©'), October 2001, John McNamara, jmcnamara@cpan.org
10
- #
11
- # original written in Perl by John McNamara
12
- # converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
13
- #
14
-
15
- require 'rubygems'
16
- require 'writeexcel'
17
-
18
- # Create a new workbook called simple.xls and add a worksheet
19
- workbook = WriteExcel.new("images.xls")
20
- worksheet1 = workbook.add_worksheet('Image 1')
21
- worksheet2 = workbook.add_worksheet('Image 2')
22
- worksheet3 = workbook.add_worksheet('Image 3')
23
- worksheet4 = workbook.add_worksheet('Image 4')
24
- bp=1
25
-
26
- # Insert a basic image
27
- worksheet1.write('A10', "Image inserted into worksheet.")
28
- worksheet1.insert_image('A1',
29
- File.join(File.dirname(File.expand_path(__FILE__)), 'republic.png')
30
- )
31
-
32
-
33
- # Insert an image with an offset
34
- worksheet2.write('A10', "Image inserted with an offset.")
35
- worksheet2.insert_image('A1',
36
- File.join(File.dirname(File.expand_path(__FILE__)), 'republic.png'),
37
- 32, 10
38
- )
39
-
40
- # Insert a scaled image
41
- worksheet3.write('A10', "Image scaled: width x 2, height x 0.8.")
42
- worksheet3.insert_image('A1',
43
- File.join(File.dirname(File.expand_path(__FILE__)), 'republic.png'),
44
- 0, 0, 2, 0.8
45
- )
46
-
47
- # Insert an image over varied column and row sizes
48
- # This does not require any additional work
49
-
50
- # Set the cols and row sizes
51
- # NOTE: you must do this before you call insert_image()
52
- worksheet4.set_column('A:A', 5)
53
- worksheet4.set_column('B:B', nil, nil, 1) # Hidden
54
- worksheet4.set_column('C:D', 10)
55
- worksheet4.set_row(0, 30)
56
- worksheet4.set_row(3, 5)
57
-
58
- worksheet4.write('A10', "Image inserted over scaled rows and columns.")
59
- worksheet4.insert_image('A1',
60
- File.join(File.dirname(File.expand_path(__FILE__)), 'republic.png')
61
- )
62
-
63
- workbook.close
1
+ #!/usr/bin/ruby -w
2
+ # -*- coding: utf-8 -*-
3
+
4
+ #######################################################################
5
+ #
6
+ # Example of how to insert images into an Excel worksheet using the
7
+ # WriteExcel insert_image() method.
8
+ #
9
+ # reverse('©'), October 2001, John McNamara, jmcnamara@cpan.org
10
+ #
11
+ # original written in Perl by John McNamara
12
+ # converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
13
+ #
14
+
15
+ require 'rubygems'
16
+ require 'writeexcel'
17
+
18
+ # Create a new workbook called simple.xls and add a worksheet
19
+ workbook = WriteExcel.new("images.xls")
20
+ worksheet1 = workbook.add_worksheet('Image 1')
21
+ worksheet2 = workbook.add_worksheet('Image 2')
22
+ worksheet3 = workbook.add_worksheet('Image 3')
23
+ worksheet4 = workbook.add_worksheet('Image 4')
24
+ bp=1
25
+
26
+ # Insert a basic image
27
+ worksheet1.write('A10', "Image inserted into worksheet.")
28
+ worksheet1.insert_image('A1',
29
+ File.join(File.dirname(File.expand_path(__FILE__)), 'republic.png')
30
+ )
31
+
32
+
33
+ # Insert an image with an offset
34
+ worksheet2.write('A10', "Image inserted with an offset.")
35
+ worksheet2.insert_image('A1',
36
+ File.join(File.dirname(File.expand_path(__FILE__)), 'republic.png'),
37
+ 32, 10
38
+ )
39
+
40
+ # Insert a scaled image
41
+ worksheet3.write('A10', "Image scaled: width x 2, height x 0.8.")
42
+ worksheet3.insert_image('A1',
43
+ File.join(File.dirname(File.expand_path(__FILE__)), 'republic.png'),
44
+ 0, 0, 2, 0.8
45
+ )
46
+
47
+ # Insert an image over varied column and row sizes
48
+ # This does not require any additional work
49
+
50
+ # Set the cols and row sizes
51
+ # NOTE: you must do this before you call insert_image()
52
+ worksheet4.set_column('A:A', 5)
53
+ worksheet4.set_column('B:B', nil, nil, 1) # Hidden
54
+ worksheet4.set_column('C:D', 10)
55
+ worksheet4.set_row(0, 30)
56
+ worksheet4.set_row(3, 5)
57
+
58
+ worksheet4.write('A10', "Image inserted over scaled rows and columns.")
59
+ worksheet4.insert_image('A1',
60
+ File.join(File.dirname(File.expand_path(__FILE__)), 'republic.png')
61
+ )
62
+
63
+ workbook.close
data/examples/indent.rb CHANGED
@@ -1,31 +1,31 @@
1
- #!/usr/bin/ruby -w
2
- # -*- coding: utf-8 -*-
3
-
4
- ##############################################################################
5
- #
6
- # A simple formatting example using Spreadsheet::WriteExcel.
7
- #
8
- # This program demonstrates the indentation cell format.
9
- #
10
- # reverse('©'), May 2004, John McNamara, jmcnamara@cpan.org
11
- #
12
- # original written in Perl by John McNamara
13
- # converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
14
- #
15
-
16
-
17
- require 'writeexcel'
18
-
19
- workbook = WriteExcel.new('indent.xls')
20
-
21
- worksheet = workbook.add_worksheet()
22
- indent1 = workbook.add_format(:indent => 1)
23
- indent2 = workbook.add_format(:indent => 2)
24
-
25
- worksheet.set_column('A:A', 40)
26
-
27
-
28
- worksheet.write('A1', "This text is indented 1 level", indent1)
29
- worksheet.write('A2', "This text is indented 2 levels", indent2)
30
-
31
- workbook.close
1
+ #!/usr/bin/ruby -w
2
+ # -*- coding: utf-8 -*-
3
+
4
+ ##############################################################################
5
+ #
6
+ # A simple formatting example using Spreadsheet::WriteExcel.
7
+ #
8
+ # This program demonstrates the indentation cell format.
9
+ #
10
+ # reverse('©'), May 2004, John McNamara, jmcnamara@cpan.org
11
+ #
12
+ # original written in Perl by John McNamara
13
+ # converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
14
+ #
15
+
16
+
17
+ require 'writeexcel'
18
+
19
+ workbook = WriteExcel.new('indent.xls')
20
+
21
+ worksheet = workbook.add_worksheet()
22
+ indent1 = workbook.add_format(:indent => 1)
23
+ indent2 = workbook.add_format(:indent => 2)
24
+
25
+ worksheet.set_column('A:A', 40)
26
+
27
+
28
+ worksheet.write('A1', "This text is indented 1 level", indent1)
29
+ worksheet.write('A2', "This text is indented 2 levels", indent2)
30
+
31
+ workbook.close