writeexcel 0.6.6 → 0.6.7

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 (230) hide show
  1. data/.document +0 -0
  2. data/.gitattributes +0 -0
  3. data/README.rdoc +9 -35
  4. data/Rakefile +0 -0
  5. data/VERSION +1 -1
  6. data/charts/chartex.rb +0 -0
  7. data/charts/demo1.rb +0 -0
  8. data/charts/demo101.bin +0 -0
  9. data/charts/demo2.rb +0 -0
  10. data/charts/demo201.bin +0 -0
  11. data/charts/demo3.rb +0 -0
  12. data/charts/demo301.bin +0 -0
  13. data/charts/demo4.rb +0 -0
  14. data/charts/demo401.bin +0 -0
  15. data/charts/demo5.rb +0 -0
  16. data/charts/demo501.bin +0 -0
  17. data/examples/a_simple.rb +0 -0
  18. data/examples/autofilter.rb +0 -0
  19. data/examples/bigfile.rb +0 -0
  20. data/examples/chart_area.rb +0 -0
  21. data/examples/chart_bar.rb +0 -0
  22. data/examples/chart_column.rb +0 -0
  23. data/examples/chart_line.rb +0 -0
  24. data/examples/chart_pie.rb +0 -0
  25. data/examples/chart_scatter.rb +0 -0
  26. data/examples/chart_stock.rb +0 -0
  27. data/examples/chess.rb +0 -0
  28. data/examples/colors.rb +0 -0
  29. data/examples/comments1.rb +0 -0
  30. data/examples/comments2.rb +0 -0
  31. data/examples/copyformat.rb +0 -0
  32. data/examples/data_validate.rb +0 -0
  33. data/examples/date_time.rb +0 -0
  34. data/examples/defined_name.rb +0 -0
  35. data/examples/demo.rb +0 -0
  36. data/examples/diag_border.rb +0 -0
  37. data/examples/formats.rb +0 -0
  38. data/examples/formula_result.rb +0 -0
  39. data/examples/header.rb +0 -0
  40. data/examples/hide_sheet.rb +0 -0
  41. data/examples/hyperlink.rb +0 -0
  42. data/examples/images.rb +0 -0
  43. data/examples/indent.rb +0 -0
  44. data/examples/merge1.rb +0 -0
  45. data/examples/merge2.rb +0 -0
  46. data/examples/merge3.rb +0 -0
  47. data/examples/merge4.rb +0 -0
  48. data/examples/merge5.rb +0 -0
  49. data/examples/merge6.rb +0 -0
  50. data/examples/outline.rb +0 -0
  51. data/examples/outline_collapsed.rb +0 -0
  52. data/examples/panes.rb +0 -0
  53. data/examples/properties.rb +0 -0
  54. data/examples/properties_jp.rb +0 -0
  55. data/examples/protection.rb +0 -0
  56. data/examples/regions.rb +0 -0
  57. data/examples/repeat.rb +0 -0
  58. data/examples/republic.png +0 -0
  59. data/examples/right_to_left.rb +0 -0
  60. data/examples/row_wrap.rb +0 -0
  61. data/examples/set_first_sheet.rb +14 -0
  62. data/examples/stats.rb +0 -0
  63. data/examples/stocks.rb +0 -0
  64. data/examples/tab_colors.rb +0 -0
  65. data/examples/utf8.rb +0 -0
  66. data/examples/write_arrays.rb +0 -0
  67. data/html/en/doc_en.html +5941 -0
  68. data/html/images/a_simple.jpg +0 -0
  69. data/html/images/area1.jpg +0 -0
  70. data/html/images/bar1.jpg +0 -0
  71. data/html/images/chart_area.xls +0 -0
  72. data/html/images/column1.jpg +0 -0
  73. data/html/images/data_validation.jpg +0 -0
  74. data/html/images/line1.jpg +0 -0
  75. data/html/images/pie1.jpg +0 -0
  76. data/html/images/regions.jpg +0 -0
  77. data/html/images/scatter1.jpg +0 -0
  78. data/html/images/stats.jpg +0 -0
  79. data/html/images/stock1.jpg +0 -0
  80. data/html/images/stocks.jpg +0 -0
  81. data/html/index.html +16 -0
  82. data/html/style.css +433 -0
  83. data/lib/writeexcel/biffwriter.rb +5 -0
  84. data/lib/writeexcel/caller_info.rb +0 -0
  85. data/lib/writeexcel/chart.rb +8 -219
  86. data/lib/writeexcel/charts/area.rb +0 -0
  87. data/lib/writeexcel/charts/bar.rb +0 -0
  88. data/lib/writeexcel/charts/column.rb +0 -0
  89. data/lib/writeexcel/charts/external.rb +0 -0
  90. data/lib/writeexcel/charts/line.rb +0 -0
  91. data/lib/writeexcel/charts/pie.rb +0 -0
  92. data/lib/writeexcel/charts/scatter.rb +0 -0
  93. data/lib/writeexcel/charts/stock.rb +0 -0
  94. data/lib/writeexcel/colors.rb +4 -0
  95. data/lib/writeexcel/compatibility.rb +0 -0
  96. data/lib/writeexcel/debug_info.rb +0 -0
  97. data/lib/writeexcel/excelformula.y +0 -0
  98. data/lib/writeexcel/excelformulaparser.rb +0 -0
  99. data/lib/writeexcel/format.rb +2 -28
  100. data/lib/writeexcel/formula.rb +4 -70
  101. data/lib/writeexcel/helper.rb +0 -0
  102. data/lib/writeexcel/image.rb +158 -0
  103. data/lib/writeexcel/olewriter.rb +0 -0
  104. data/lib/writeexcel/properties.rb +0 -0
  105. data/lib/writeexcel/storage_lite.rb +0 -0
  106. data/lib/writeexcel/workbook.rb +434 -824
  107. data/lib/writeexcel/worksheet.rb +4194 -4718
  108. data/lib/writeexcel/write_file.rb +0 -0
  109. data/lib/writeexcel.rb +0 -0
  110. data/test/excelfile/Chart1.xls +0 -0
  111. data/test/excelfile/Chart2.xls +0 -0
  112. data/test/excelfile/Chart3.xls +0 -0
  113. data/test/excelfile/Chart4.xls +0 -0
  114. data/test/excelfile/Chart5.xls +0 -0
  115. data/test/helper.rb +0 -0
  116. data/test/perl_output/Chart1.xls.data +0 -0
  117. data/test/perl_output/Chart2.xls.data +0 -0
  118. data/test/perl_output/Chart3.xls.data +0 -0
  119. data/test/perl_output/Chart4.xls.data +0 -0
  120. data/test/perl_output/Chart5.xls.data +0 -0
  121. data/test/perl_output/README +0 -0
  122. data/test/perl_output/a_simple.xls +0 -0
  123. data/test/perl_output/autofilter.xls +0 -0
  124. data/test/perl_output/biff_add_continue_testdata +0 -0
  125. data/test/perl_output/chart_area.xls +0 -0
  126. data/test/perl_output/chart_bar.xls +0 -0
  127. data/test/perl_output/chart_column.xls +0 -0
  128. data/test/perl_output/chart_line.xls +0 -0
  129. data/test/perl_output/chess.xls +0 -0
  130. data/test/perl_output/colors.xls +0 -0
  131. data/test/perl_output/comments1.xls +0 -0
  132. data/test/perl_output/comments2.xls +0 -0
  133. data/test/perl_output/data_validate.xls +0 -0
  134. data/test/perl_output/date_time.xls +0 -0
  135. data/test/perl_output/defined_name.xls +0 -0
  136. data/test/perl_output/demo.xls +0 -0
  137. data/test/perl_output/demo101.bin +0 -0
  138. data/test/perl_output/demo201.bin +0 -0
  139. data/test/perl_output/demo301.bin +0 -0
  140. data/test/perl_output/demo401.bin +0 -0
  141. data/test/perl_output/demo501.bin +0 -0
  142. data/test/perl_output/diag_border.xls +0 -0
  143. data/test/perl_output/f_font_biff +0 -0
  144. data/test/perl_output/f_font_key +0 -0
  145. data/test/perl_output/f_xf_biff +0 -0
  146. data/test/perl_output/file_font_biff +0 -0
  147. data/test/perl_output/file_font_key +0 -0
  148. data/test/perl_output/file_xf_biff +0 -0
  149. data/test/perl_output/formula_result.xls +0 -0
  150. data/test/perl_output/headers.xls +0 -0
  151. data/test/perl_output/hidden.xls +0 -0
  152. data/test/perl_output/hide_zero.xls +0 -0
  153. data/test/perl_output/hyperlink.xls +0 -0
  154. data/test/perl_output/images.xls +0 -0
  155. data/test/perl_output/indent.xls +0 -0
  156. data/test/perl_output/merge1.xls +0 -0
  157. data/test/perl_output/merge2.xls +0 -0
  158. data/test/perl_output/merge3.xls +0 -0
  159. data/test/perl_output/merge4.xls +0 -0
  160. data/test/perl_output/merge5.xls +0 -0
  161. data/test/perl_output/merge6.xls +0 -0
  162. data/test/perl_output/ole_write_header +0 -0
  163. data/test/perl_output/outline.xls +0 -0
  164. data/test/perl_output/outline_collapsed.xls +0 -0
  165. data/test/perl_output/panes.xls +0 -0
  166. data/test/perl_output/protection.xls +0 -0
  167. data/test/perl_output/regions.xls +0 -0
  168. data/test/perl_output/right_to_left.xls +0 -0
  169. data/test/perl_output/set_first_sheet.xls +0 -0
  170. data/test/perl_output/stats.xls +0 -0
  171. data/test/perl_output/stocks.xls +0 -0
  172. data/test/perl_output/tab_colors.xls +0 -0
  173. data/test/perl_output/unicode_cyrillic.xls +0 -0
  174. data/test/perl_output/utf8.xls +0 -0
  175. data/test/perl_output/workbook1.xls +0 -0
  176. data/test/perl_output/workbook2.xls +0 -0
  177. data/test/perl_output/ws_colinfo +0 -0
  178. data/test/perl_output/ws_store_colinfo +0 -0
  179. data/test/perl_output/ws_store_dimensions +0 -0
  180. data/test/perl_output/ws_store_filtermode +0 -0
  181. data/test/perl_output/ws_store_filtermode_off +0 -0
  182. data/test/perl_output/ws_store_filtermode_on +0 -0
  183. data/test/perl_output/ws_store_selection +0 -0
  184. data/test/perl_output/ws_store_window2 +0 -0
  185. data/test/republic.png +0 -0
  186. data/test/test_00_IEEE_double.rb +0 -0
  187. data/test/test_01_add_worksheet.rb +0 -0
  188. data/test/test_02_merge_formats.rb +0 -0
  189. data/test/test_04_dimensions.rb +27 -27
  190. data/test/test_05_rows.rb +0 -0
  191. data/test/test_06_extsst.rb +1 -1
  192. data/test/test_11_date_time.rb +3 -3
  193. data/test/test_12_date_only.rb +7 -14
  194. data/test/test_13_date_seconds.rb +5 -5
  195. data/test/test_21_escher.rb +138 -138
  196. data/test/test_22_mso_drawing_group.rb +0 -0
  197. data/test/test_23_note.rb +4 -4
  198. data/test/test_24_txo.rb +3 -3
  199. data/test/test_25_position_object.rb +1 -1
  200. data/test/test_26_autofilter.rb +3 -3
  201. data/test/test_27_autofilter.rb +1 -1
  202. data/test/test_28_autofilter.rb +2 -2
  203. data/test/test_29_process_jpg.rb +16 -29
  204. data/test/test_30_validation_dval.rb +3 -3
  205. data/test/test_31_validation_dv_strings.rb +6 -6
  206. data/test/test_32_validation_dv_formula.rb +12 -12
  207. data/test/test_40_property_types.rb +0 -0
  208. data/test/test_41_properties.rb +0 -0
  209. data/test/test_42_set_properties.rb +0 -0
  210. data/test/test_50_name_stored.rb +8 -8
  211. data/test/test_51_name_print_area.rb +18 -18
  212. data/test/test_52_name_print_titles.rb +27 -27
  213. data/test/test_53_autofilter.rb +6 -6
  214. data/test/test_60_chart_generic.rb +1 -1
  215. data/test/test_61_chart_subclasses.rb +7 -14
  216. data/test/test_62_chart_formats.rb +0 -0
  217. data/test/test_63_chart_area_formats.rb +0 -0
  218. data/test/test_biff.rb +0 -0
  219. data/test/test_compatibility.rb +0 -0
  220. data/test/test_example_match.rb +31 -0
  221. data/test/test_format.rb +0 -0
  222. data/test/test_formula.rb +0 -0
  223. data/test/test_ole.rb +0 -0
  224. data/test/test_storage_lite.rb +0 -0
  225. data/test/test_workbook.rb +6 -0
  226. data/test/test_worksheet.rb +5 -5
  227. data/utils/add_magic_comment.rb +0 -0
  228. data/writeexcel.gemspec +263 -243
  229. data/writeexcel.rdoc +3 -3
  230. metadata +42 -39
@@ -17,7 +17,7 @@ class TC_ChartGeneric < Test::Unit::TestCase
17
17
  def setup
18
18
  io = StringIO.new
19
19
  workbook = WriteExcel.new(io)
20
- @chart = Writeexcel::Chart.new('', 'chart', 0, 0, 0, 0, 0, 0, 0, 0)
20
+ @chart = Writeexcel::Chart.new(workbook, '', 'chart', 0)
21
21
  end
22
22
 
23
23
  def teardown
@@ -24,8 +24,7 @@ class TC_chart_subclasses < Test::Unit::TestCase
24
24
  end
25
25
 
26
26
  def test_store_chart_type_of_column
27
- chart = Writeexcel::Chart.factory('Chart::Column', nil, nil, nil, nil, nil, nil,
28
- nil, nil, nil, nil)
27
+ chart = Writeexcel::Chart.factory('Chart::Column', @workbook, nil, nil, nil)
29
28
  expected = %w(
30
29
  17 10 06 00 00 00 96 00 00 00
31
30
  ).join(' ')
@@ -34,8 +33,7 @@ class TC_chart_subclasses < Test::Unit::TestCase
34
33
  end
35
34
 
36
35
  def test_store_chart_type_of_bar
37
- chart = Writeexcel::Chart.factory('Chart::Bar', nil, nil, nil, nil, nil, nil,
38
- nil, nil, nil, nil)
36
+ chart = Writeexcel::Chart.factory('Chart::Bar', @workbook, nil, nil, nil)
39
37
  expected = %w(
40
38
  17 10 06 00 00 00 96 00 01 00
41
39
  ).join(' ')
@@ -44,8 +42,7 @@ class TC_chart_subclasses < Test::Unit::TestCase
44
42
  end
45
43
 
46
44
  def test_store_chart_type_of_line
47
- chart = Writeexcel::Chart.factory('Chart::Line', nil, nil, nil, nil, nil, nil,
48
- nil, nil, nil, nil)
45
+ chart = Writeexcel::Chart.factory('Chart::Line', @workbook, nil, nil, nil)
49
46
  expected = %w(
50
47
  18 10 02 00 00 00
51
48
  ).join(' ')
@@ -54,8 +51,7 @@ class TC_chart_subclasses < Test::Unit::TestCase
54
51
  end
55
52
 
56
53
  def test_store_chart_type_of_area
57
- chart = Writeexcel::Chart.factory('Chart::Area', nil, nil, nil, nil, nil, nil,
58
- nil, nil, nil, nil)
54
+ chart = Writeexcel::Chart.factory('Chart::Area', @workbook, nil, nil, nil)
59
55
  expected = %w(
60
56
  1A 10 02 00 01 00
61
57
  ).join(' ')
@@ -64,8 +60,7 @@ class TC_chart_subclasses < Test::Unit::TestCase
64
60
  end
65
61
 
66
62
  def test_store_chart_type_of_pie
67
- chart = Writeexcel::Chart.factory('Chart::Pie', nil, nil, nil, nil, nil, nil,
68
- nil, nil, nil, nil)
63
+ chart = Writeexcel::Chart.factory('Chart::Pie', @workbook, nil, nil, nil)
69
64
  expected = %w(
70
65
  19 10 06 00 00 00 00 00 02 00
71
66
  ).join(' ')
@@ -74,8 +69,7 @@ class TC_chart_subclasses < Test::Unit::TestCase
74
69
  end
75
70
 
76
71
  def test_store_chart_type_of_scatter
77
- chart = Writeexcel::Chart.factory('Chart::Scatter', nil, nil, nil, nil, nil, nil,
78
- nil, nil, nil, nil)
72
+ chart = Writeexcel::Chart.factory('Chart::Scatter', @workbook, nil, nil, nil)
79
73
  expected = %w(
80
74
  1B 10 06 00 64 00 01 00 00 00
81
75
  ).join(' ')
@@ -84,8 +78,7 @@ class TC_chart_subclasses < Test::Unit::TestCase
84
78
  end
85
79
 
86
80
  def test_store_chart_type_of_stock
87
- chart = Writeexcel::Chart.factory('Chart::Stock', nil, nil, nil, nil, nil, nil,
88
- nil, nil, nil, nil)
81
+ chart = Writeexcel::Chart.factory('Chart::Stock', @workbook, nil, nil, nil)
89
82
  expected = %w(
90
83
  18 10 02 00 00 00
91
84
  ).join(' ')
File without changes
File without changes
data/test/test_biff.rb CHANGED
File without changes
File without changes
@@ -3141,4 +3141,35 @@ workbook.close
3141
3141
  # do assertion
3142
3142
  compare_file("#{PERL_OUTDIR}/utf8.xls", @file)
3143
3143
  end
3144
+
3145
+ def test_hide_zero
3146
+ workbook = WriteExcel.new(@file)
3147
+ worksheet = workbook.add_worksheet
3148
+ worksheet.write(0, 0, 'C2, E2 value is zero, not displayed')
3149
+ worksheet.write(1, 0, 1)
3150
+ worksheet.write(1, 1, 2)
3151
+ worksheet.write(1, 2, 0)
3152
+ worksheet.write(1, 3, 4)
3153
+ worksheet.write(1, 4, 0)
3154
+
3155
+ worksheet.hide_zero
3156
+ workbook.close
3157
+
3158
+ # do assertion
3159
+ compare_file("#{PERL_OUTDIR}/hide_zero.xls", @file)
3160
+ end
3161
+
3162
+ def test_set_first_sheet
3163
+ workbook = WriteExcel.new(@file)
3164
+ 20.times { workbook.add_worksheet }
3165
+ worksheet21 = workbook.add_worksheet
3166
+ worksheet22 = workbook.add_worksheet
3167
+
3168
+ worksheet21.set_first_sheet
3169
+ worksheet22.activate
3170
+ workbook.close
3171
+
3172
+ # do assertion
3173
+ compare_file("#{PERL_OUTDIR}/set_first_sheet.xls", @file)
3174
+ end
3144
3175
  end
data/test/test_format.rb CHANGED
File without changes
data/test/test_formula.rb CHANGED
File without changes
data/test/test_ole.rb CHANGED
File without changes
File without changes
@@ -71,6 +71,12 @@ class TC_Workbook < Test::Unit::TestCase
71
71
  end
72
72
  end
73
73
 
74
+ def test_check_sheetname_raise_if_same_utf16be_sheet_name
75
+ smily = [0x263a].pack('n')
76
+ @workbook.add_worksheet(smily, true)
77
+ assert_raise(RuntimeError) { @workbook.add_worksheet(smily, true)}
78
+ end
79
+
74
80
  def test_check_sheetname_utf8_only
75
81
  ['Лист 1', 'Лист 2', 'Лист 3'].each do |sheetname|
76
82
  assert_nothing_raised { @workbook.add_worksheet(sheetname) }
@@ -47,7 +47,7 @@ class TC_Worksheet < Test::Unit::TestCase
47
47
 
48
48
  def test_store_dimensions
49
49
  file = "delete_this"
50
- File.open(file,"w+"){ |f| f.print @ws.store_dimensions }
50
+ File.open(file,"w+"){ |f| f.print @ws.__send__("store_dimensions") }
51
51
  pf = @perldir + "ws_store_dimensions"
52
52
  p_od = IO.readlines(pf).to_s.dump
53
53
  r_od = IO.readlines(file).to_s.dump
@@ -58,7 +58,7 @@ class TC_Worksheet < Test::Unit::TestCase
58
58
 
59
59
  def test_store_colinfo
60
60
  file = "delete_this"
61
- File.open(file,"w+"){ |f| f.print @ws.store_colinfo }
61
+ File.open(file,"w+"){ |f| f.print @ws.__send__("store_colinfo") }
62
62
  pf = @perldir + "ws_store_colinfo"
63
63
  p_od = IO.readlines(pf).to_s.dump
64
64
  r_od = IO.readlines(file).to_s.dump
@@ -69,7 +69,7 @@ class TC_Worksheet < Test::Unit::TestCase
69
69
 
70
70
  def test_store_selection
71
71
  file = "delete_this"
72
- File.open(file,"w+"){ |f| f.print @ws.store_selection(1,1,2,2) }
72
+ File.open(file,"w+"){ |f| f.print @ws.__send__("store_selection", 1,1,2,2) }
73
73
  pf = @perldir + "ws_store_selection"
74
74
  p_od = IO.readlines(pf).to_s.dump
75
75
  r_od = IO.readlines(file).to_s.dump
@@ -80,7 +80,7 @@ class TC_Worksheet < Test::Unit::TestCase
80
80
 
81
81
  def test_store_filtermode
82
82
  file = "delete_this"
83
- File.open(file,"w+"){ |f| f.print @ws.store_filtermode }
83
+ File.open(file,"w+"){ |f| f.print @ws.__send__("store_filtermode") }
84
84
  pf = @perldir + "ws_store_filtermode_off"
85
85
  p_od = IO.readlines(pf).to_s.dump
86
86
  r_od = IO.readlines(file).to_s.dump
@@ -90,7 +90,7 @@ class TC_Worksheet < Test::Unit::TestCase
90
90
 
91
91
  @ws.autofilter(1,1,2,2)
92
92
  @ws.filter_column(1, 'x < 2000')
93
- File.open(file,"w+"){ |f| f.print @ws.store_filtermode }
93
+ File.open(file,"w+"){ |f| f.print @ws.__send__("store_filtermode") }
94
94
  pf = @perldir + "ws_store_filtermode_on"
95
95
  p_od = IO.readlines(pf).to_s.dump
96
96
  r_od = IO.readlines(file).to_s.dump
File without changes