write_xlsx 0.99.0 → 1.07.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (314) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +0 -1
  4. data/Changes +70 -0
  5. data/README.md +1 -1
  6. data/examples/a_simple.rb +1 -1
  7. data/examples/add_vba_project.rb +1 -1
  8. data/examples/array_formula.rb +1 -1
  9. data/examples/chart_area.rb +5 -2
  10. data/examples/chart_bar.rb +5 -2
  11. data/examples/chart_clustered.rb +1 -1
  12. data/examples/chart_column.rb +5 -2
  13. data/examples/chart_combined.rb +1 -1
  14. data/examples/chart_data_labels.rb +320 -0
  15. data/examples/chart_data_table.rb +9 -3
  16. data/examples/chart_data_tools.rb +25 -7
  17. data/examples/chart_doughnut.rb +17 -5
  18. data/examples/chart_gauge.rb +73 -0
  19. data/examples/chart_line.rb +90 -12
  20. data/examples/chart_pareto.rb +1 -1
  21. data/examples/chart_pie.rb +9 -3
  22. data/examples/chart_radar.rb +13 -4
  23. data/examples/chart_scatter.rb +5 -2
  24. data/examples/chart_secondary_axis.rb +5 -2
  25. data/examples/chart_stock.rb +1 -1
  26. data/examples/chart_styles.rb +1 -1
  27. data/examples/colors.rb +1 -1
  28. data/examples/data_validate.rb +1 -1
  29. data/examples/date_time.rb +1 -1
  30. data/examples/demo.rb +4 -1
  31. data/examples/formats.rb +1 -1
  32. data/examples/headers.rb +1 -1
  33. data/examples/hide_row_col.rb +1 -1
  34. data/examples/hide_sheet.rb +1 -1
  35. data/examples/hyperlink1.rb +1 -1
  36. data/examples/indent.rb +1 -1
  37. data/examples/macros.rb +1 -1
  38. data/examples/merge1.rb +1 -1
  39. data/examples/merge2.rb +1 -1
  40. data/examples/merge3.rb +1 -1
  41. data/examples/merge4.rb +1 -1
  42. data/examples/merge5.rb +1 -1
  43. data/examples/merge6.rb +1 -1
  44. data/examples/outline.rb +1 -1
  45. data/examples/outline_collapsed.rb +1 -1
  46. data/examples/panes.rb +1 -1
  47. data/examples/properties.rb +1 -1
  48. data/examples/regions.rb +1 -1
  49. data/examples/rich_strings.rb +1 -1
  50. data/examples/right_to_left.rb +1 -1
  51. data/examples/shape1.rb +1 -1
  52. data/examples/shape2.rb +1 -1
  53. data/examples/shape3.rb +1 -1
  54. data/examples/shape4.rb +1 -1
  55. data/examples/shape5.rb +1 -1
  56. data/examples/shape6.rb +1 -1
  57. data/examples/shape7.rb +1 -1
  58. data/examples/shape8.rb +1 -1
  59. data/examples/shape_all.rb +1 -1
  60. data/examples/sparklines1.rb +1 -1
  61. data/examples/sparklines2.rb +1 -1
  62. data/examples/stats.rb +1 -1
  63. data/examples/stats_ext.rb +1 -1
  64. data/examples/stocks.rb +1 -1
  65. data/examples/tab_colors.rb +1 -1
  66. data/examples/tables.rb +78 -43
  67. data/lib/write_xlsx/chart.rb +163 -34
  68. data/lib/write_xlsx/chart/area.rb +1 -1
  69. data/lib/write_xlsx/chart/bar.rb +1 -1
  70. data/lib/write_xlsx/chart/column.rb +1 -1
  71. data/lib/write_xlsx/chart/doughnut.rb +1 -1
  72. data/lib/write_xlsx/chart/line.rb +16 -2
  73. data/lib/write_xlsx/chart/pie.rb +21 -8
  74. data/lib/write_xlsx/chart/radar.rb +1 -1
  75. data/lib/write_xlsx/chart/scatter.rb +1 -1
  76. data/lib/write_xlsx/chart/series.rb +100 -0
  77. data/lib/write_xlsx/chart/stock.rb +1 -1
  78. data/lib/write_xlsx/chartsheet.rb +5 -5
  79. data/lib/write_xlsx/drawing.rb +86 -30
  80. data/lib/write_xlsx/format.rb +5 -5
  81. data/lib/write_xlsx/package/comments.rb +11 -11
  82. data/lib/write_xlsx/package/relationships.rb +4 -4
  83. data/lib/write_xlsx/package/styles.rb +26 -8
  84. data/lib/write_xlsx/package/table.rb +8 -7
  85. data/lib/write_xlsx/package/vml.rb +20 -19
  86. data/lib/write_xlsx/shape.rb +4 -3
  87. data/lib/write_xlsx/sheets.rb +18 -16
  88. data/lib/write_xlsx/sparkline.rb +1 -1
  89. data/lib/write_xlsx/utility.rb +40 -7
  90. data/lib/write_xlsx/version.rb +1 -1
  91. data/lib/write_xlsx/workbook.rb +69 -44
  92. data/lib/write_xlsx/worksheet.rb +206 -138
  93. data/lib/write_xlsx/worksheet/hyperlink.rb +16 -37
  94. data/test/drawing/test_drawing_chart_01.rb +6 -2
  95. data/test/drawing/test_drawing_image_01.rb +12 -3
  96. data/test/drawing/test_drawing_shape_01.rb +8 -5
  97. data/test/drawing/test_drawing_shape_02.rb +12 -5
  98. data/test/drawing/test_drawing_shape_03.rb +8 -5
  99. data/test/drawing/test_drawing_shape_04.rb +8 -24
  100. data/test/drawing/test_drawing_shape_05.rb +8 -5
  101. data/test/drawing/test_drawing_shape_06.rb +11 -6
  102. data/test/drawing/test_drawing_shape_07.rb +11 -6
  103. data/test/drawing/test_write_a_graphic_frame_locks.rb +1 -1
  104. data/test/drawing/test_write_c_chart.rb +1 -1
  105. data/test/drawing/test_write_c_nv_graphic_frame_pr.rb +1 -1
  106. data/test/drawing/test_write_c_nv_pr.rb +1 -1
  107. data/test/drawing/test_write_col.rb +1 -1
  108. data/test/drawing/test_write_col_off.rb +1 -1
  109. data/test/drawing/test_write_ext.rb +1 -1
  110. data/test/drawing/test_write_pos.rb +1 -1
  111. data/test/drawing/test_write_row.rb +1 -1
  112. data/test/drawing/test_write_row_off.rb +1 -1
  113. data/test/drawing/test_write_xfrm_extension.rb +1 -1
  114. data/test/drawing/test_write_xfrm_offset.rb +1 -1
  115. data/test/perl_output/chart_data_labels.xlsx +0 -0
  116. data/test/perl_output/chart_gauge.xlsx +0 -0
  117. data/test/perl_output/chart_line.xlsx +0 -0
  118. data/test/perl_output/comments2.xlsx +0 -0
  119. data/test/perl_output/tables.xlsx +0 -0
  120. data/test/regression/images/red2.png +0 -0
  121. data/test/regression/test_array_formula04.rb +31 -0
  122. data/test/regression/test_chart_axis26.rb +10 -8
  123. data/test/regression/test_chart_axis27.rb +1 -1
  124. data/test/regression/test_chart_axis28.rb +1 -1
  125. data/test/regression/test_chart_axis29.rb +1 -1
  126. data/test/regression/test_chart_axis33.rb +1 -1
  127. data/test/regression/test_chart_axis44.rb +54 -0
  128. data/test/regression/test_chart_axis45.rb +54 -0
  129. data/test/regression/test_chart_axis46.rb +54 -0
  130. data/test/regression/test_chart_combined10.rb +43 -0
  131. data/test/regression/test_chart_combined11.rb +63 -0
  132. data/test/regression/test_chart_data_labels25.rb +1 -1
  133. data/test/regression/test_chart_data_labels26.rb +44 -0
  134. data/test/regression/test_chart_data_labels27.rb +44 -0
  135. data/test/regression/test_chart_data_labels28.rb +52 -0
  136. data/test/regression/test_chart_data_labels29.rb +43 -0
  137. data/test/regression/test_chart_data_labels30.rb +46 -0
  138. data/test/regression/test_chart_data_labels31.rb +49 -0
  139. data/test/regression/test_chart_data_labels32.rb +54 -0
  140. data/test/regression/test_chart_data_labels33.rb +52 -0
  141. data/test/regression/test_chart_data_labels34.rb +54 -0
  142. data/test/regression/test_chart_data_labels35.rb +46 -0
  143. data/test/regression/test_chart_data_labels36.rb +54 -0
  144. data/test/regression/test_chart_data_labels37.rb +51 -0
  145. data/test/regression/test_chart_data_labels38.rb +54 -0
  146. data/test/regression/test_chart_data_labels39.rb +53 -0
  147. data/test/regression/test_chart_data_labels40.rb +53 -0
  148. data/test/regression/test_chart_data_labels41.rb +54 -0
  149. data/test/regression/test_chart_data_labels42.rb +58 -0
  150. data/test/regression/test_chart_data_labels43.rb +58 -0
  151. data/test/regression/test_chart_data_labels44.rb +56 -0
  152. data/test/regression/test_chart_data_labels45.rb +57 -0
  153. data/test/regression/test_chart_data_labels46.rb +61 -0
  154. data/test/regression/test_chart_data_labels47.rb +61 -0
  155. data/test/regression/test_chart_doughnut07.rb +37 -0
  156. data/test/regression/test_chart_font09.rb +1 -1
  157. data/test/regression/test_chart_line05.rb +43 -0
  158. data/test/regression/test_chart_line06.rb +43 -0
  159. data/test/regression/test_chart_size03.rb +4 -1
  160. data/test/regression/test_comment14.rb +29 -0
  161. data/test/regression/test_comment15.rb +28 -0
  162. data/test/regression/test_comment16.rb +34 -0
  163. data/test/regression/test_header_image15.rb +36 -0
  164. data/test/regression/test_header_image16.rb +42 -0
  165. data/test/regression/test_header_image17.rb +46 -0
  166. data/test/regression/test_header_image18.rb +48 -0
  167. data/test/regression/test_header_image19.rb +36 -0
  168. data/test/regression/test_hyperlink32.rb +27 -0
  169. data/test/regression/test_hyperlink33.rb +28 -0
  170. data/test/regression/test_hyperlink34.rb +33 -0
  171. data/test/regression/test_hyperlink35.rb +39 -0
  172. data/test/regression/test_hyperlink36.rb +34 -0
  173. data/test/regression/test_hyperlink37.rb +33 -0
  174. data/test/regression/test_hyperlink38.rb +27 -0
  175. data/test/regression/test_hyperlink39.rb +27 -0
  176. data/test/regression/test_hyperlink40.rb +27 -0
  177. data/test/regression/test_hyperlink41.rb +27 -0
  178. data/test/regression/test_hyperlink42.rb +27 -0
  179. data/test/regression/test_hyperlink43.rb +27 -0
  180. data/test/regression/test_hyperlink44.rb +27 -0
  181. data/test/regression/test_hyperlink45.rb +27 -0
  182. data/test/regression/test_hyperlink47.rb +27 -0
  183. data/test/regression/test_hyperlink48.rb +31 -0
  184. data/test/regression/test_hyperlink49.rb +29 -0
  185. data/test/regression/test_image06.rb +5 -5
  186. data/test/regression/test_image08.rb +5 -4
  187. data/test/regression/test_image15.rb +4 -2
  188. data/test/regression/test_image28.rb +1 -1
  189. data/test/regression/test_image44.rb +28 -0
  190. data/test/regression/test_image45.rb +29 -0
  191. data/test/regression/test_image46.rb +29 -0
  192. data/test/regression/test_image47.rb +28 -0
  193. data/test/regression/test_image48.rb +32 -0
  194. data/test/regression/test_image49.rb +38 -0
  195. data/test/regression/test_image50.rb +24 -0
  196. data/test/regression/test_image51.rb +30 -0
  197. data/test/regression/test_object_position01.rb +26 -0
  198. data/test/regression/test_object_position02.rb +26 -0
  199. data/test/regression/test_object_position03.rb +26 -0
  200. data/test/regression/test_object_position04.rb +44 -0
  201. data/test/regression/test_object_position06.rb +28 -0
  202. data/test/regression/test_object_position07.rb +28 -0
  203. data/test/regression/test_object_position08.rb +47 -0
  204. data/test/regression/test_object_position09.rb +50 -0
  205. data/test/regression/test_object_position10.rb +28 -0
  206. data/test/regression/test_object_position12.rb +25 -0
  207. data/test/regression/test_object_position13.rb +25 -0
  208. data/test/regression/test_object_position14.rb +25 -0
  209. data/test/regression/test_object_position15.rb +29 -0
  210. data/test/regression/test_object_position16.rb +29 -0
  211. data/test/regression/test_object_position17.rb +29 -0
  212. data/test/regression/test_object_position18.rb +29 -0
  213. data/test/regression/test_object_position19.rb +29 -0
  214. data/test/regression/test_object_position20.rb +29 -0
  215. data/test/regression/test_shape_connect01.rb +4 -2
  216. data/test/regression/test_table24.rb +27 -0
  217. data/test/regression/test_table25.rb +27 -0
  218. data/test/regression/xlsx_files/array_formula04.xlsx +0 -0
  219. data/test/regression/xlsx_files/chart_axis26.xlsx +0 -0
  220. data/test/regression/xlsx_files/chart_axis27.xlsx +0 -0
  221. data/test/regression/xlsx_files/chart_axis28.xlsx +0 -0
  222. data/test/regression/xlsx_files/chart_axis29.xlsx +0 -0
  223. data/test/regression/xlsx_files/chart_axis33.xlsx +0 -0
  224. data/test/regression/xlsx_files/chart_axis44.xlsx +0 -0
  225. data/test/regression/xlsx_files/chart_axis45.xlsx +0 -0
  226. data/test/regression/xlsx_files/chart_axis46.xlsx +0 -0
  227. data/test/regression/xlsx_files/chart_combined10.xlsx +0 -0
  228. data/test/regression/xlsx_files/chart_combined11.xlsx +0 -0
  229. data/test/regression/xlsx_files/chart_data_labels25.xlsx +0 -0
  230. data/test/regression/xlsx_files/chart_data_labels26.xlsx +0 -0
  231. data/test/regression/xlsx_files/chart_data_labels27.xlsx +0 -0
  232. data/test/regression/xlsx_files/chart_data_labels28.xlsx +0 -0
  233. data/test/regression/xlsx_files/chart_data_labels29.xlsx +0 -0
  234. data/test/regression/xlsx_files/chart_data_labels30.xlsx +0 -0
  235. data/test/regression/xlsx_files/chart_data_labels31.xlsx +0 -0
  236. data/test/regression/xlsx_files/chart_data_labels32.xlsx +0 -0
  237. data/test/regression/xlsx_files/chart_data_labels33.xlsx +0 -0
  238. data/test/regression/xlsx_files/chart_data_labels34.xlsx +0 -0
  239. data/test/regression/xlsx_files/chart_data_labels35.xlsx +0 -0
  240. data/test/regression/xlsx_files/chart_data_labels36.xlsx +0 -0
  241. data/test/regression/xlsx_files/chart_data_labels37.xlsx +0 -0
  242. data/test/regression/xlsx_files/chart_data_labels38.xlsx +0 -0
  243. data/test/regression/xlsx_files/chart_data_labels39.xlsx +0 -0
  244. data/test/regression/xlsx_files/chart_data_labels40.xlsx +0 -0
  245. data/test/regression/xlsx_files/chart_data_labels41.xlsx +0 -0
  246. data/test/regression/xlsx_files/chart_data_labels42.xlsx +0 -0
  247. data/test/regression/xlsx_files/chart_data_labels43.xlsx +0 -0
  248. data/test/regression/xlsx_files/chart_data_labels44.xlsx +0 -0
  249. data/test/regression/xlsx_files/chart_data_labels45.xlsx +0 -0
  250. data/test/regression/xlsx_files/chart_data_labels46.xlsx +0 -0
  251. data/test/regression/xlsx_files/chart_data_labels47.xlsx +0 -0
  252. data/test/regression/xlsx_files/chart_doughnut07.xlsx +0 -0
  253. data/test/regression/xlsx_files/chart_font09.xlsx +0 -0
  254. data/test/regression/xlsx_files/chart_line05.xlsx +0 -0
  255. data/test/regression/xlsx_files/chart_line06.xlsx +0 -0
  256. data/test/regression/xlsx_files/comment14.xlsx +0 -0
  257. data/test/regression/xlsx_files/comment15.xlsx +0 -0
  258. data/test/regression/xlsx_files/comment16.xlsx +0 -0
  259. data/test/regression/xlsx_files/header_image15.xlsx +0 -0
  260. data/test/regression/xlsx_files/header_image16.xlsx +0 -0
  261. data/test/regression/xlsx_files/header_image17.xlsx +0 -0
  262. data/test/regression/xlsx_files/header_image18.xlsx +0 -0
  263. data/test/regression/xlsx_files/header_image19.xlsx +0 -0
  264. data/test/regression/xlsx_files/hyperlink32.xlsx +0 -0
  265. data/test/regression/xlsx_files/hyperlink33.xlsx +0 -0
  266. data/test/regression/xlsx_files/hyperlink34.xlsx +0 -0
  267. data/test/regression/xlsx_files/hyperlink35.xlsx +0 -0
  268. data/test/regression/xlsx_files/hyperlink36.xlsx +0 -0
  269. data/test/regression/xlsx_files/hyperlink37.xlsx +0 -0
  270. data/test/regression/xlsx_files/hyperlink38.xlsx +0 -0
  271. data/test/regression/xlsx_files/hyperlink39.xlsx +0 -0
  272. data/test/regression/xlsx_files/hyperlink40.xlsx +0 -0
  273. data/test/regression/xlsx_files/hyperlink41.xlsx +0 -0
  274. data/test/regression/xlsx_files/hyperlink42.xlsx +0 -0
  275. data/test/regression/xlsx_files/hyperlink43.xlsx +0 -0
  276. data/test/regression/xlsx_files/hyperlink44.xlsx +0 -0
  277. data/test/regression/xlsx_files/hyperlink45.xlsx +0 -0
  278. data/test/regression/xlsx_files/hyperlink46.xlsx +0 -0
  279. data/test/regression/xlsx_files/hyperlink47.xlsx +0 -0
  280. data/test/regression/xlsx_files/hyperlink48.xlsx +0 -0
  281. data/test/regression/xlsx_files/hyperlink49.xlsx +0 -0
  282. data/test/regression/xlsx_files/image06.xlsx +0 -0
  283. data/test/regression/xlsx_files/image44.xlsx +0 -0
  284. data/test/regression/xlsx_files/image45.xlsx +0 -0
  285. data/test/regression/xlsx_files/image46.xlsx +0 -0
  286. data/test/regression/xlsx_files/image47.xlsx +0 -0
  287. data/test/regression/xlsx_files/image48.xlsx +0 -0
  288. data/test/regression/xlsx_files/image49.xlsx +0 -0
  289. data/test/regression/xlsx_files/image50.xlsx +0 -0
  290. data/test/regression/xlsx_files/image51.xlsx +0 -0
  291. data/test/regression/xlsx_files/object_position01.xlsx +0 -0
  292. data/test/regression/xlsx_files/object_position02.xlsx +0 -0
  293. data/test/regression/xlsx_files/object_position03.xlsx +0 -0
  294. data/test/regression/xlsx_files/object_position04.xlsx +0 -0
  295. data/test/regression/xlsx_files/object_position06.xlsx +0 -0
  296. data/test/regression/xlsx_files/object_position07.xlsx +0 -0
  297. data/test/regression/xlsx_files/object_position08.xlsx +0 -0
  298. data/test/regression/xlsx_files/object_position09.xlsx +0 -0
  299. data/test/regression/xlsx_files/object_position10.xlsx +0 -0
  300. data/test/regression/xlsx_files/object_position12.xlsx +0 -0
  301. data/test/regression/xlsx_files/object_position13.xlsx +0 -0
  302. data/test/regression/xlsx_files/object_position14.xlsx +0 -0
  303. data/test/regression/xlsx_files/object_position15.xlsx +0 -0
  304. data/test/regression/xlsx_files/object_position16.xlsx +0 -0
  305. data/test/regression/xlsx_files/object_position17.xlsx +0 -0
  306. data/test/regression/xlsx_files/object_position18.xlsx +0 -0
  307. data/test/regression/xlsx_files/object_position19.xlsx +0 -0
  308. data/test/regression/xlsx_files/object_position20.xlsx +0 -0
  309. data/test/regression/xlsx_files/table24.xlsx +0 -0
  310. data/test/regression/xlsx_files/table25.xlsx +0 -0
  311. data/test/test_example_match.rb +1268 -780
  312. data/test/workbook/test_check_sheetname.rb +51 -0
  313. data/write_xlsx.gemspec +1 -0
  314. metadata +367 -5
@@ -4,7 +4,7 @@
4
4
 
5
5
  class TestWriteXfrmOffset < Minitest::Test
6
6
  def setup
7
- @drawing = Writexlsx::Drawing.new
7
+ @drawing = Writexlsx::Drawings.new
8
8
  end
9
9
 
10
10
  def test_write_xfrm_offset
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,31 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionArrayFormula04 < Minitest::Test
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ @tempfile.close(true)
11
+ end
12
+
13
+ def test_array_formula04
14
+ @xlsx = 'array_formula04.xlsx'
15
+ workbook = WriteXLSX.new(@io)
16
+ worksheet = workbook.add_worksheet
17
+
18
+ worksheet.write_array_formula(
19
+ 'A1:A3',
20
+ '{=SUM(B1:C1*B2:C2)}',
21
+ nil,
22
+ 0
23
+ )
24
+
25
+ workbook.close
26
+ compare_for_regression(
27
+ [ 'xl/calcChain.xml', '[Content_Types].xml', 'xl/_rels/workbook.xml.rels' ],
28
+ {'xl/workbook.xml' => ['<workbookView']}
29
+ )
30
+ end
31
+ end
@@ -17,15 +17,17 @@ def test_chart_axis26
17
17
  chart = workbook.add_chart(:type => 'line', :embedded => 1)
18
18
 
19
19
  # For testing, copy the randomly generated axis ids in the target xlsx file.
20
- chart.instance_variable_set(:@axis_ids, [73048448, 73049984])
20
+ chart.instance_variable_set(:@axis_ids, [108315392, 108329216])
21
21
 
22
22
  data = [
23
- [ 1, 2, 3, 4, 5 ],
24
- [ 2, 4, 6, 8, 10 ],
25
- [ 3, 6, 9, 12, 15 ]
26
- ]
23
+ [ 1, 2, 3, 4, 5 ],
24
+ [ 2, 4, 6, 8, 10 ],
25
+ [ 3, 6, 9, 12, 15 ]
26
+ ]
27
27
 
28
- chart.set_x_axis(:num_font => {:rotation => 45})
28
+ chart.set_x_axis(
29
+ :num_font => { :rotation => 45, :baseline => -1 }
30
+ )
29
31
 
30
32
  worksheet.write('A1', data)
31
33
 
@@ -37,8 +39,8 @@ def test_chart_axis26
37
39
 
38
40
  workbook.close
39
41
  compare_for_regression(
40
- nil,
41
- { 'xl/charts/chart1.xml' => ['<a:defRPr'] }
42
+ [],
43
+ {}
42
44
  )
43
45
  end
44
46
  end
@@ -17,7 +17,7 @@ def test_chart_axis27
17
17
  chart = workbook.add_chart(:type => 'line', :embedded => 1)
18
18
 
19
19
  # For testing, copy the randomly generated axis ids in the target xlsx file.
20
- chart.instance_variable_set(:@axis_ids, [73048448, 73049984])
20
+ chart.instance_variable_set(:@axis_ids, [108315392, 108329216])
21
21
 
22
22
  data = [
23
23
  [ 1, 2, 3, 4, 5 ],
@@ -17,7 +17,7 @@ def test_chart_axis28
17
17
  chart = workbook.add_chart(:type => 'line', :embedded => 1)
18
18
 
19
19
  # For testing, copy the randomly generated axis ids in the target xlsx file.
20
- chart.instance_variable_set(:@axis_ids, [45451904, 47401600])
20
+ chart.instance_variable_set(:@axis_ids, [115375104, 115390720])
21
21
 
22
22
  data = [
23
23
  [ 1, 2, 3, 4, 5 ],
@@ -17,7 +17,7 @@ def test_chart_axis29
17
17
  chart = workbook.add_chart(:type => 'line', :embedded => 1)
18
18
 
19
19
  # For testing, copy the randomly generated axis ids in the target xlsx file.
20
- chart.instance_variable_set(:@axis_ids, [45444480, 47402368])
20
+ chart.instance_variable_set(:@axis_ids, [145169024, 145176448])
21
21
  data = [
22
22
  [ 1, 2, 3, 4, 5 ],
23
23
  [ 2, 4, 6, 8, 10 ],
@@ -17,7 +17,7 @@ def test_chart_axis33
17
17
  chart = workbook.add_chart(:type => 'line', :embedded => 1)
18
18
 
19
19
  # For testing, copy the randomly generated axis ids in the target xlsx file.
20
- chart.instance_variable_set(:@axis_ids, [68827008, 68898816])
20
+ chart.instance_variable_set(:@axis_ids, [143682944, 143946496])
21
21
  data = [
22
22
  [ 1, 2, 3, 4, 5 ],
23
23
  [ 2, 4, 6, 8, 10 ],
@@ -0,0 +1,54 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionChartAxis44 < Minitest::Test
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ @tempfile.close(true)
11
+ end
12
+
13
+ def test_chart_axis44
14
+ @xlsx = 'chart_axis44.xlsx'
15
+ workbook = WriteXLSX.new(@io)
16
+ worksheet = workbook.add_worksheet
17
+ chart = workbook.add_chart(:type => 'bar', :embedded => 1)
18
+
19
+ # For testing, copy the randomly generated axis ids in the target xlsx file.
20
+ chart.instance_variable_set(:@axis_ids, [108176896, 108178816])
21
+
22
+ data = [
23
+ [ 1, 2, 3, 4, 5 ],
24
+ [ 2, 4, 6, 8, 10 ],
25
+ [ 3, 6, 9, 12, 15 ]
26
+ ]
27
+
28
+ worksheet.write('A1', data)
29
+
30
+ chart.add_series(:values => '=Sheet1!$A$1:$A$5')
31
+ chart.add_series(:values => '=Sheet1!$B$1:$B$5')
32
+ chart.add_series(:values => '=Sheet1!$C$1:$C$5')
33
+
34
+ chart.set_x_axis(
35
+ :name => 'XXX',
36
+ :name_font => { :rotation => -45, :baseline => -1},
37
+ :num_font => { :rotation => -45, :baseline => -1}
38
+ )
39
+
40
+ chart.set_y_axis(
41
+ :name => 'YYY',
42
+ :name_font => { :rotation => -45, :baseline => -1},
43
+ :num_font => { :rotation => -45, :baseline => -1}
44
+ )
45
+
46
+ worksheet.insert_chart('E9', chart)
47
+
48
+ workbook.close
49
+ compare_for_regression(
50
+ nil,
51
+ { 'xl/charts/chart1.xml' => ['<c:pageMargins'] }
52
+ )
53
+ end
54
+ end
@@ -0,0 +1,54 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionChartAxis45 < Minitest::Test
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ @tempfile.close(true)
11
+ end
12
+
13
+ def test_chart_axis45
14
+ @xlsx = 'chart_axis45.xlsx'
15
+ workbook = WriteXLSX.new(@io)
16
+ worksheet = workbook.add_worksheet
17
+ chart = workbook.add_chart(:type => 'bar', :embedded => 1)
18
+
19
+ # For testing, copy the randomly generated axis ids in the target xlsx file.
20
+ chart.instance_variable_set(:@axis_ids, [108178048, 108321408])
21
+
22
+ data = [
23
+ [ 1, 2, 3, 4, 5 ],
24
+ [ 2, 4, 6, 8, 10 ],
25
+ [ 3, 6, 9, 12, 15 ]
26
+ ]
27
+
28
+ worksheet.write('A1', data)
29
+
30
+ chart.add_series(:values => '=Sheet1!$A$1:$A$5')
31
+ chart.add_series(:values => '=Sheet1!$B$1:$B$5')
32
+ chart.add_series(:values => '=Sheet1!$C$1:$C$5')
33
+
34
+ chart.set_x_axis(
35
+ :name => 'XXX',
36
+ :name_font => { :rotation => 270, :baseline => -1},
37
+ :num_font => { :rotation => 270, :baseline => -1}
38
+ )
39
+
40
+ chart.set_y_axis(
41
+ :name => 'YYY',
42
+ :name_font => { :rotation => 270, :baseline => -1},
43
+ :num_font => { :rotation => 270, :baseline => -1}
44
+ )
45
+
46
+ worksheet.insert_chart('E9', chart)
47
+
48
+ workbook.close
49
+ compare_for_regression(
50
+ nil,
51
+ { 'xl/charts/chart1.xml' => ['<c:pageMargins'] }
52
+ )
53
+ end
54
+ end
@@ -0,0 +1,54 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionChartAxis46 < Minitest::Test
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ @tempfile.close(true)
11
+ end
12
+
13
+ def test_chart_axis46
14
+ @xlsx = 'chart_axis46.xlsx'
15
+ workbook = WriteXLSX.new(@io)
16
+ worksheet = workbook.add_worksheet
17
+ chart = workbook.add_chart(:type => 'bar', :embedded => 1)
18
+
19
+ # For testing, copy the randomly generated axis ids in the target xlsx file.
20
+ chart.instance_variable_set(:@axis_ids, [108178048, 108321408])
21
+
22
+ data = [
23
+ [ 1, 2, 3, 4, 5 ],
24
+ [ 2, 4, 6, 8, 10 ],
25
+ [ 3, 6, 9, 12, 15 ]
26
+ ]
27
+
28
+ worksheet.write('A1', data)
29
+
30
+ chart.add_series(:values => '=Sheet1!$A$1:$A$5')
31
+ chart.add_series(:values => '=Sheet1!$B$1:$B$5')
32
+ chart.add_series(:values => '=Sheet1!$C$1:$C$5')
33
+
34
+ chart.set_x_axis(
35
+ :name => 'XXX',
36
+ :name_font => { :rotation => 271, :baseline => -1},
37
+ :num_font => { :rotation => 271, :baseline => -1}
38
+ )
39
+
40
+ chart.set_y_axis(
41
+ :name => 'YYY',
42
+ :name_font => { :rotation => 271, :baseline => -1},
43
+ :num_font => { :rotation => 271, :baseline => -1}
44
+ )
45
+
46
+ worksheet.insert_chart('E9', chart)
47
+
48
+ workbook.close
49
+ compare_for_regression(
50
+ nil,
51
+ { 'xl/charts/chart1.xml' => ['<c:pageMargins'] }
52
+ )
53
+ end
54
+ end
@@ -0,0 +1,43 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionChartCombined10 < Minitest::Test
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ @tempfile.close(true)
11
+ end
12
+
13
+ def test_chart_combined10
14
+ @xlsx = 'chart_combined10.xlsx'
15
+ workbook = WriteXLSX.new(@io)
16
+ worksheet = workbook.add_worksheet
17
+ chart_doughnut = workbook.add_chart(:type => 'doughnut', :embedded => 1)
18
+ chart_pie = workbook.add_chart(:type => 'pie', :embedded => 1)
19
+
20
+ worksheet.write_col('H2', ['Donut', 25, 50, 25, 100])
21
+ worksheet.write_col('I2', ['Pie', 75, 1, 124])
22
+
23
+ chart_doughnut.add_series(
24
+ :name => '=Sheet1!$H$2',
25
+ :values => '=Sheet1!$H$3:$H$6'
26
+ )
27
+ chart_doughnut.show_blanks_as('gap')
28
+
29
+ chart_pie.add_series(
30
+ :name => '=Sheet1!$I$2',
31
+ :values => '=Sheet1!$I$3:$I$6'
32
+ )
33
+ chart_doughnut.combine(chart_pie)
34
+
35
+ worksheet.insert_chart('E9', chart_doughnut)
36
+
37
+ workbook.close
38
+ compare_for_regression(
39
+ [],
40
+ { 'xl/charts/chart1.xml' => ['<c:dispBlanksAs'] }
41
+ )
42
+ end
43
+ end
@@ -0,0 +1,63 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionChartCombined11 < Minitest::Test
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ @tempfile.close(true)
11
+ end
12
+
13
+ def test_chart_combined11
14
+ @xlsx = 'chart_combined11.xlsx'
15
+ workbook = WriteXLSX.new(@io)
16
+ worksheet = workbook.add_worksheet
17
+ chart_doughnut = workbook.add_chart(:type => 'doughnut', :embedded => 1)
18
+ chart_pie = workbook.add_chart(:type => 'pie', :embedded => 1)
19
+
20
+ worksheet.write_col('H2', ['Donut', 25, 50, 25, 100])
21
+ worksheet.write_col('I2', ['Pie', 75, 1, 124])
22
+
23
+ chart_doughnut.add_series(
24
+ :name => '=Sheet1!$H$2',
25
+ :values => '=Sheet1!$H$3:$H$6',
26
+ :points => [
27
+ { :fill => { :color => '#FF0000' } },
28
+ { :fill => { :color => '#FFC000' } },
29
+ { :fill => { :color => '#00B050' } },
30
+ { :fill => { :none => 1 } }
31
+ ]
32
+ )
33
+
34
+ chart_doughnut.set_rotation(270)
35
+ chart_doughnut.set_legend(:none => 1)
36
+ chart_doughnut.set_chartarea(
37
+ :border => { :none => 1 },
38
+ :fill => { :none => 1 }
39
+ )
40
+
41
+ chart_pie.add_series(
42
+ :name => '=Sheet1!$I$2',
43
+ :values => '=Sheet1!$I$3:$I$6',
44
+ :points => [
45
+ { :fill => { :none => 1 } },
46
+ { :fill => { :color => '#FF0000' } },
47
+ { :fill => { :none => 1 } }
48
+ ]
49
+ )
50
+
51
+ chart_pie.set_rotation(270)
52
+
53
+ chart_doughnut.combine(chart_pie)
54
+
55
+ worksheet.insert_chart('A1', chart_doughnut)
56
+
57
+ workbook.close
58
+ compare_for_regression(
59
+ [],
60
+ { 'xl/charts/chart1.xml' => ['<c:dispBlanksAs'] }
61
+ )
62
+ end
63
+ end
@@ -17,7 +17,7 @@ def test_chart_data_labels25
17
17
  chart = workbook.add_chart(:type => 'column', :embedded => 1)
18
18
 
19
19
  # For testing, copy the randomly generated axis ids in the target xlsx file.
20
- chart.instance_variable_set(:@axis_ids, [108652800, 108656128])
20
+ chart.instance_variable_set(:@axis_ids, [108315392, 108329600])
21
21
 
22
22
  data = [
23
23
  [1, 2, 3, 4, 5],
@@ -0,0 +1,44 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionChartDataLabels26 < Minitest::Test
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ @tempfile.close(true)
11
+ end
12
+
13
+ def test_chart_data_labels26
14
+ @xlsx = 'chart_data_labels26.xlsx'
15
+ workbook = WriteXLSX.new(@io)
16
+ worksheet = workbook.add_worksheet
17
+ chart = workbook.add_chart(:type => 'column', :embedded => 1)
18
+
19
+ # For testing, copy the randomly generated axis ids in the target xlsx file.
20
+ chart.instance_variable_set(:@axis_ids, [48514944, 48516480])
21
+
22
+ data = [
23
+ [ 1, 2, 3, 4, 5],
24
+ [ 2, 4, 6, 8, 10],
25
+ [ 3, 6, 9, 12, 15],
26
+ [10, 20, 30, 40, 50]
27
+ ]
28
+
29
+ worksheet.write('A1', data)
30
+
31
+ chart.add_series(
32
+ :values => '=Sheet1!$A$1:$A$5',
33
+ :data_labels => {:value => 1, :custom => [{:value => 33}]}
34
+ )
35
+
36
+ chart.add_series(:values => '=Sheet1!$B$1:$B$5')
37
+ chart.add_series(:values => '=Sheet1!$C$1:$C$5')
38
+
39
+ worksheet.insert_chart('E9', chart)
40
+
41
+ workbook.close
42
+ compare_for_regression
43
+ end
44
+ end