write_xlsx 1.09.3 → 1.11.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2065) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +128 -0
  3. data/.rubocop_todo.yml +445 -0
  4. data/Changes +49 -0
  5. data/Gemfile +2 -0
  6. data/LICENSE.txt +1 -1
  7. data/README.md +2 -2
  8. data/Rakefile +14 -8
  9. data/examples/array_formula.rb +2 -2
  10. data/examples/autofilter.rb +50 -26
  11. data/examples/autofit.rb +37 -0
  12. data/examples/chart_area.rb +16 -16
  13. data/examples/chart_bar.rb +16 -16
  14. data/examples/chart_clustered.rb +12 -12
  15. data/examples/chart_column.rb +16 -16
  16. data/examples/chart_combined.rb +27 -28
  17. data/examples/chart_data_labels.rb +103 -115
  18. data/examples/chart_data_table.rb +29 -29
  19. data/examples/chart_data_tools.rb +55 -61
  20. data/examples/chart_doughnut.rb +34 -38
  21. data/examples/chart_gauge.rb +20 -20
  22. data/examples/chart_line.rb +44 -45
  23. data/examples/chart_pareto.rb +18 -18
  24. data/examples/chart_pie.rb +22 -22
  25. data/examples/chart_radar.rb +41 -47
  26. data/examples/chart_scatter.rb +16 -16
  27. data/examples/chart_secondary_axis.rb +16 -16
  28. data/examples/chart_stock.rb +22 -23
  29. data/examples/chart_styles.rb +8 -9
  30. data/examples/colors.rb +31 -34
  31. data/examples/comments1.rb +1 -0
  32. data/examples/comments2.rb +85 -114
  33. data/examples/conditional_format.rb +164 -155
  34. data/examples/data_validate.rb +135 -122
  35. data/examples/date_time.rb +30 -30
  36. data/examples/defined_name.rb +5 -5
  37. data/examples/demo.rb +14 -16
  38. data/examples/diag_border.rb +7 -8
  39. data/examples/dynamic_arrays.rb +247 -0
  40. data/examples/formats.rb +95 -107
  41. data/examples/headers.rb +2 -7
  42. data/examples/hyperlink1.rb +5 -6
  43. data/examples/ignore_errors.rb +2 -2
  44. data/examples/indent.rb +2 -2
  45. data/examples/lambda.rb +43 -0
  46. data/examples/macros.rb +6 -6
  47. data/examples/merge1.rb +1 -4
  48. data/examples/merge2.rb +9 -12
  49. data/examples/merge3.rb +6 -7
  50. data/examples/merge4.rb +22 -24
  51. data/examples/merge5.rb +24 -24
  52. data/examples/merge6.rb +8 -8
  53. data/examples/outline.rb +9 -17
  54. data/examples/outline_collapsed.rb +7 -7
  55. data/examples/panes.rb +16 -16
  56. data/examples/properties.rb +9 -9
  57. data/examples/protection.rb +2 -2
  58. data/examples/rich_strings.rb +25 -17
  59. data/examples/shape1.rb +9 -9
  60. data/examples/shape2.rb +19 -19
  61. data/examples/shape3.rb +6 -6
  62. data/examples/shape4.rb +9 -9
  63. data/examples/shape5.rb +9 -9
  64. data/examples/shape6.rb +9 -9
  65. data/examples/shape7.rb +15 -15
  66. data/examples/shape8.rb +15 -15
  67. data/examples/shape_all.rb +7 -7
  68. data/examples/sparklines1.rb +23 -24
  69. data/examples/sparklines2.rb +152 -152
  70. data/examples/tables.rb +119 -127
  71. data/examples/update_range_format_with_params.rb +4 -4
  72. data/examples/watermark.png +0 -0
  73. data/examples/watermark.rb +26 -0
  74. data/lib/write_xlsx/chart/area.rb +9 -9
  75. data/lib/write_xlsx/chart/axis.rb +13 -24
  76. data/lib/write_xlsx/chart/bar.rb +9 -12
  77. data/lib/write_xlsx/chart/caption.rb +1 -0
  78. data/lib/write_xlsx/chart/column.rb +4 -4
  79. data/lib/write_xlsx/chart/doughnut.rb +4 -2
  80. data/lib/write_xlsx/chart/legend.rb +1 -0
  81. data/lib/write_xlsx/chart/line.rb +18 -18
  82. data/lib/write_xlsx/chart/pie.rb +27 -14
  83. data/lib/write_xlsx/chart/radar.rb +10 -10
  84. data/lib/write_xlsx/chart/scatter.rb +23 -25
  85. data/lib/write_xlsx/chart/series.rb +112 -73
  86. data/lib/write_xlsx/chart/stock.rb +30 -24
  87. data/lib/write_xlsx/chart.rb +320 -269
  88. data/lib/write_xlsx/chartsheet.rb +33 -32
  89. data/lib/write_xlsx/col_name.rb +9 -3
  90. data/lib/write_xlsx/colors.rb +21 -19
  91. data/lib/write_xlsx/compatibility.rb +15 -15
  92. data/lib/write_xlsx/drawing.rb +72 -63
  93. data/lib/write_xlsx/format.rb +71 -69
  94. data/lib/write_xlsx/formats.rb +2 -0
  95. data/lib/write_xlsx/gradient.rb +7 -9
  96. data/lib/write_xlsx/package/app.rb +17 -16
  97. data/lib/write_xlsx/package/button.rb +9 -5
  98. data/lib/write_xlsx/package/comments.rb +36 -38
  99. data/lib/write_xlsx/package/conditional_format.rb +112 -120
  100. data/lib/write_xlsx/package/content_types.rb +21 -21
  101. data/lib/write_xlsx/package/core.rb +6 -4
  102. data/lib/write_xlsx/package/custom.rb +8 -7
  103. data/lib/write_xlsx/package/metadata.rb +7 -5
  104. data/lib/write_xlsx/package/packager.rb +39 -25
  105. data/lib/write_xlsx/package/relationships.rb +2 -1
  106. data/lib/write_xlsx/package/shared_strings.rb +17 -15
  107. data/lib/write_xlsx/package/styles.rb +74 -90
  108. data/lib/write_xlsx/package/table.rb +186 -131
  109. data/lib/write_xlsx/package/theme.rb +4 -3
  110. data/lib/write_xlsx/package/vml.rb +25 -31
  111. data/lib/write_xlsx/package/xml_writer_simple.rb +46 -40
  112. data/lib/write_xlsx/shape.rb +26 -36
  113. data/lib/write_xlsx/sheets.rb +41 -45
  114. data/lib/write_xlsx/sparkline.rb +299 -307
  115. data/lib/write_xlsx/utility.rb +210 -188
  116. data/lib/write_xlsx/version.rb +3 -1
  117. data/lib/write_xlsx/workbook.rb +289 -331
  118. data/lib/write_xlsx/worksheet/cell_data.rb +87 -66
  119. data/lib/write_xlsx/worksheet/data_validation.rb +79 -74
  120. data/lib/write_xlsx/worksheet/hyperlink.rb +14 -19
  121. data/lib/write_xlsx/worksheet/page_setup.rb +10 -11
  122. data/lib/write_xlsx/worksheet.rb +1449 -866
  123. data/lib/write_xlsx/zip_file_utils.rb +33 -34
  124. data/lib/write_xlsx.rb +2 -3
  125. data/write_xlsx.gemspec +26 -19
  126. metadata +72 -3884
  127. data/.gitattributes +0 -1
  128. data/.gitignore +0 -45
  129. data/.travis.yml +0 -75
  130. data/bin/extract_vba.rb +0 -34
  131. data/test/chart/test_add_series.rb +0 -190
  132. data/test/chart/test_process_names.rb +0 -27
  133. data/test/chart/test_write_a_latin.rb +0 -22
  134. data/test/chart/test_write_auto.rb +0 -15
  135. data/test/chart/test_write_ax_id.rb +0 -15
  136. data/test/chart/test_write_ax_pos.rb +0 -15
  137. data/test/chart/test_write_cross_ax.rb +0 -15
  138. data/test/chart/test_write_crosses.rb +0 -15
  139. data/test/chart/test_write_d_lbls.rb +0 -292
  140. data/test/chart/test_write_format_code.rb +0 -16
  141. data/test/chart/test_write_idx.rb +0 -15
  142. data/test/chart/test_write_label_align.rb +0 -15
  143. data/test/chart/test_write_label_offset.rb +0 -15
  144. data/test/chart/test_write_lang.rb +0 -15
  145. data/test/chart/test_write_layout.rb +0 -15
  146. data/test/chart/test_write_legend.rb +0 -16
  147. data/test/chart/test_write_legend_pos.rb +0 -23
  148. data/test/chart/test_write_major_gridlines.rb +0 -15
  149. data/test/chart/test_write_marker.rb +0 -17
  150. data/test/chart/test_write_marker_size.rb +0 -15
  151. data/test/chart/test_write_marker_value.rb +0 -16
  152. data/test/chart/test_write_num_cache.rb +0 -16
  153. data/test/chart/test_write_number_format.rb +0 -48
  154. data/test/chart/test_write_order.rb +0 -15
  155. data/test/chart/test_write_orientation.rb +0 -15
  156. data/test/chart/test_write_page_margins.rb +0 -15
  157. data/test/chart/test_write_page_setup.rb +0 -15
  158. data/test/chart/test_write_plot_vis_only.rb +0 -15
  159. data/test/chart/test_write_pt.rb +0 -16
  160. data/test/chart/test_write_pt_count.rb +0 -16
  161. data/test/chart/test_write_series_formula.rb +0 -16
  162. data/test/chart/test_write_style.rb +0 -41
  163. data/test/chart/test_write_symbol.rb +0 -16
  164. data/test/chart/test_write_tick_lbl_pos.rb +0 -16
  165. data/test/chart/test_write_v.rb +0 -16
  166. data/test/chartsheet/test_chartsheet01.rb +0 -31
  167. data/test/chartsheet/test_write_sheet_protection.rb +0 -91
  168. data/test/drawing/test_drawing_chart_01.rb +0 -54
  169. data/test/drawing/test_drawing_image_01.rb +0 -68
  170. data/test/drawing/test_drawing_shape_01.rb +0 -71
  171. data/test/drawing/test_drawing_shape_02.rb +0 -80
  172. data/test/drawing/test_drawing_shape_03.rb +0 -41
  173. data/test/drawing/test_drawing_shape_04.rb +0 -105
  174. data/test/drawing/test_drawing_shape_05.rb +0 -48
  175. data/test/drawing/test_drawing_shape_06.rb +0 -47
  176. data/test/drawing/test_drawing_shape_07.rb +0 -52
  177. data/test/drawing/test_write_a_graphic_frame_locks.rb +0 -18
  178. data/test/drawing/test_write_c_chart.rb +0 -18
  179. data/test/drawing/test_write_c_nv_graphic_frame_pr.rb +0 -28
  180. data/test/drawing/test_write_c_nv_pr.rb +0 -18
  181. data/test/drawing/test_write_col.rb +0 -18
  182. data/test/drawing/test_write_col_off.rb +0 -18
  183. data/test/drawing/test_write_pos.rb +0 -18
  184. data/test/drawing/test_write_row.rb +0 -18
  185. data/test/drawing/test_write_row_off.rb +0 -18
  186. data/test/drawing/test_write_xdr_ext.rb +0 -18
  187. data/test/drawing/test_write_xfrm_extension.rb +0 -18
  188. data/test/drawing/test_write_xfrm_offset.rb +0 -18
  189. data/test/helper.rb +0 -206
  190. data/test/package/app/test_app01.rb +0 -44
  191. data/test/package/app/test_app02.rb +0 -46
  192. data/test/package/app/test_app03.rb +0 -53
  193. data/test/package/comments/test_comments_01.rb +0 -54
  194. data/test/package/comments/test_comments_02.rb +0 -54
  195. data/test/package/content_types/test_content_types.rb +0 -35
  196. data/test/package/content_types/test_write_default.rb +0 -13
  197. data/test/package/content_types/test_write_override.rb +0 -13
  198. data/test/package/core/test_core01.rb +0 -28
  199. data/test/package/core/test_core02.rb +0 -42
  200. data/test/package/relationships/test_relationships.rb +0 -28
  201. data/test/package/relationships/test_sheet_rels.rb +0 -22
  202. data/test/package/shared_strings/test_shared_strings01.rb +0 -30
  203. data/test/package/shared_strings/test_shared_strings02.rb +0 -30
  204. data/test/package/shared_strings/test_write_si.rb +0 -16
  205. data/test/package/styles/test_styles_01.rb +0 -60
  206. data/test/package/styles/test_styles_02.rb +0 -95
  207. data/test/package/styles/test_styles_03.rb +0 -81
  208. data/test/package/styles/test_styles_04.rb +0 -207
  209. data/test/package/styles/test_styles_05.rb +0 -141
  210. data/test/package/styles/test_styles_06.rb +0 -95
  211. data/test/package/styles/test_styles_07.rb +0 -95
  212. data/test/package/styles/test_styles_08.rb +0 -100
  213. data/test/package/styles/test_styles_09.rb +0 -86
  214. data/test/package/table/test_table01.rb +0 -42
  215. data/test/package/table/test_table02.rb +0 -44
  216. data/test/package/table/test_table03.rb +0 -48
  217. data/test/package/table/test_table04.rb +0 -46
  218. data/test/package/table/test_table05.rb +0 -46
  219. data/test/package/table/test_table06.rb +0 -52
  220. data/test/package/table/test_table07.rb +0 -47
  221. data/test/package/table/test_table08.rb +0 -53
  222. data/test/package/table/test_table09.rb +0 -65
  223. data/test/package/table/test_table10.rb +0 -45
  224. data/test/package/table/test_table11.rb +0 -60
  225. data/test/package/table/test_table12.rb +0 -60
  226. data/test/package/table/test_table13.rb +0 -69
  227. data/test/package/table/test_write_auto_filter.rb +0 -23
  228. data/test/package/table/test_write_table_column.rb +0 -22
  229. data/test/package/table/test_write_table_style_info.rb +0 -26
  230. data/test/package/vml/test_write_auto_fill.rb +0 -14
  231. data/test/package/vml/test_write_div.rb +0 -14
  232. data/test/package/vml/test_write_idmap.rb +0 -14
  233. data/test/package/vml/test_write_path.rb +0 -30
  234. data/test/package/vml/test_write_shapelayout.rb +0 -14
  235. data/test/package/vml/test_write_shapetype.rb +0 -22
  236. data/test/package/vml/test_write_stroke.rb +0 -14
  237. data/test/perl_output/a_simple.xlsx +0 -0
  238. data/test/perl_output/add_vba_project.xlsm +0 -0
  239. data/test/perl_output/array_formula.xlsx +0 -0
  240. data/test/perl_output/autofilter.xlsx +0 -0
  241. data/test/perl_output/background.xlsx +0 -0
  242. data/test/perl_output/chart_area.xlsx +0 -0
  243. data/test/perl_output/chart_bar.xlsx +0 -0
  244. data/test/perl_output/chart_column.xlsx +0 -0
  245. data/test/perl_output/chart_combined.xlsx +0 -0
  246. data/test/perl_output/chart_data_labels.xlsx +0 -0
  247. data/test/perl_output/chart_data_table.xlsx +0 -0
  248. data/test/perl_output/chart_data_tools.xlsx +0 -0
  249. data/test/perl_output/chart_doughnut.xlsx +0 -0
  250. data/test/perl_output/chart_gauge.xlsx +0 -0
  251. data/test/perl_output/chart_line.xlsx +0 -0
  252. data/test/perl_output/chart_pareto.xlsx +0 -0
  253. data/test/perl_output/chart_pie.xlsx +0 -0
  254. data/test/perl_output/chart_radar.xlsx +0 -0
  255. data/test/perl_output/chart_scatter.xlsx +0 -0
  256. data/test/perl_output/chart_scatter06.xlsx +0 -0
  257. data/test/perl_output/chart_secondary_axis.xlsx +0 -0
  258. data/test/perl_output/chart_stock.xlsx +0 -0
  259. data/test/perl_output/comments1.xlsx +0 -0
  260. data/test/perl_output/comments2.xlsx +0 -0
  261. data/test/perl_output/conditional_format.xlsx +0 -0
  262. data/test/perl_output/data_validate.xlsx +0 -0
  263. data/test/perl_output/date_time.xlsx +0 -0
  264. data/test/perl_output/defined_name.xlsx +0 -0
  265. data/test/perl_output/demo.xlsx +0 -0
  266. data/test/perl_output/diag_border.xlsx +0 -0
  267. data/test/perl_output/fit_to_pages.xlsx +0 -0
  268. data/test/perl_output/formats.xlsx +0 -0
  269. data/test/perl_output/headers.xlsx +0 -0
  270. data/test/perl_output/hide_first_sheet.xlsx +0 -0
  271. data/test/perl_output/hide_row_col.xlsx +0 -0
  272. data/test/perl_output/hide_sheet.xlsx +0 -0
  273. data/test/perl_output/hyperlink.xlsx +0 -0
  274. data/test/perl_output/ignore_errors.xlsx +0 -0
  275. data/test/perl_output/indent.xlsx +0 -0
  276. data/test/perl_output/keep_leading_zeros.xlsx +0 -0
  277. data/test/perl_output/merge1.xlsx +0 -0
  278. data/test/perl_output/merge2.xlsx +0 -0
  279. data/test/perl_output/merge3.xlsx +0 -0
  280. data/test/perl_output/merge4.xlsx +0 -0
  281. data/test/perl_output/merge5.xlsx +0 -0
  282. data/test/perl_output/merge6.xlsx +0 -0
  283. data/test/perl_output/multi_line.xlsx +0 -0
  284. data/test/perl_output/outline.xlsx +0 -0
  285. data/test/perl_output/outline_collapsed.xlsx +0 -0
  286. data/test/perl_output/panes.xlsx +0 -0
  287. data/test/perl_output/print_scale.xlsx +0 -0
  288. data/test/perl_output/properties.xlsx +0 -0
  289. data/test/perl_output/protection.xlsx +0 -0
  290. data/test/perl_output/regions.xlsx +0 -0
  291. data/test/perl_output/rich_strings.xlsx +0 -0
  292. data/test/perl_output/right_to_left.xlsx +0 -0
  293. data/test/perl_output/shape1.xlsx +0 -0
  294. data/test/perl_output/shape2.xlsx +0 -0
  295. data/test/perl_output/shape3.xlsx +0 -0
  296. data/test/perl_output/shape4.xlsx +0 -0
  297. data/test/perl_output/shape5.xlsx +0 -0
  298. data/test/perl_output/shape6.xlsx +0 -0
  299. data/test/perl_output/shape7.xlsx +0 -0
  300. data/test/perl_output/shape8.xlsx +0 -0
  301. data/test/perl_output/shape_all.xlsx +0 -0
  302. data/test/perl_output/sparklines1.xlsx +0 -0
  303. data/test/perl_output/sparklines2.xlsx +0 -0
  304. data/test/perl_output/stats.xlsx +0 -0
  305. data/test/perl_output/stats_ext.xlsx +0 -0
  306. data/test/perl_output/stocks.xlsx +0 -0
  307. data/test/perl_output/tab_colors.xlsx +0 -0
  308. data/test/perl_output/tables.xlsx +0 -0
  309. data/test/regression/_test_hyperlink31.rb +0 -26
  310. data/test/regression/disabled_test_vml04.rb +0 -41
  311. data/test/regression/images/black_150.jpg +0 -0
  312. data/test/regression/images/black_150.png +0 -0
  313. data/test/regression/images/black_150e.png +0 -0
  314. data/test/regression/images/black_300.jpg +0 -0
  315. data/test/regression/images/black_300.png +0 -0
  316. data/test/regression/images/black_300e.png +0 -0
  317. data/test/regression/images/black_72.jpg +0 -0
  318. data/test/regression/images/black_72.png +0 -0
  319. data/test/regression/images/black_72e.png +0 -0
  320. data/test/regression/images/black_96.jpg +0 -0
  321. data/test/regression/images/black_96.png +0 -0
  322. data/test/regression/images/blue.jpg +0 -0
  323. data/test/regression/images/blue.png +0 -0
  324. data/test/regression/images/grey.jpg +0 -0
  325. data/test/regression/images/grey.png +0 -0
  326. data/test/regression/images/happy.jpg +0 -0
  327. data/test/regression/images/issue32.png +0 -0
  328. data/test/regression/images/logo.gif +0 -0
  329. data/test/regression/images/logo.jpg +0 -0
  330. data/test/regression/images/logo.png +0 -0
  331. data/test/regression/images/mylogo.png +0 -0
  332. data/test/regression/images/red.bmp +0 -0
  333. data/test/regression/images/red.gif +0 -0
  334. data/test/regression/images/red.jpg +0 -0
  335. data/test/regression/images/red.png +0 -0
  336. data/test/regression/images/red2.png +0 -0
  337. data/test/regression/images/red_208.png +0 -0
  338. data/test/regression/images/red_64x20.png +0 -0
  339. data/test/regression/images/train.jpg +0 -0
  340. data/test/regression/images/yellow.jpg +0 -0
  341. data/test/regression/images/yellow.png +0 -0
  342. data/test/regression/images/zero_dpi.jpg +0 -0
  343. data/test/regression/klt.csv +0 -4
  344. data/test/regression/test_array_formula01.rb +0 -31
  345. data/test/regression/test_array_formula02.rb +0 -32
  346. data/test/regression/test_array_formula03.rb +0 -36
  347. data/test/regression/test_array_formula04.rb +0 -31
  348. data/test/regression/test_autofilter00.rb +0 -84
  349. data/test/regression/test_autofilter01.rb +0 -86
  350. data/test/regression/test_autofilter02.rb +0 -104
  351. data/test/regression/test_autofilter03.rb +0 -104
  352. data/test/regression/test_autofilter04.rb +0 -107
  353. data/test/regression/test_autofilter05.rb +0 -108
  354. data/test/regression/test_autofilter06.rb +0 -108
  355. data/test/regression/test_autofilter07.rb +0 -107
  356. data/test/regression/test_autofilter08.rb +0 -110
  357. data/test/regression/test_autofilter09.rb +0 -110
  358. data/test/regression/test_autofilter10.rb +0 -110
  359. data/test/regression/test_background01.rb +0 -23
  360. data/test/regression/test_background02.rb +0 -23
  361. data/test/regression/test_background03.rb +0 -24
  362. data/test/regression/test_background04.rb +0 -25
  363. data/test/regression/test_background05.rb +0 -25
  364. data/test/regression/test_background06.rb +0 -31
  365. data/test/regression/test_background07.rb +0 -37
  366. data/test/regression/test_button01.rb +0 -23
  367. data/test/regression/test_button02.rb +0 -29
  368. data/test/regression/test_button03.rb +0 -24
  369. data/test/regression/test_button04.rb +0 -25
  370. data/test/regression/test_button05.rb +0 -28
  371. data/test/regression/test_button06.rb +0 -28
  372. data/test/regression/test_button07.rb +0 -35
  373. data/test/regression/test_button08.rb +0 -28
  374. data/test/regression/test_button13.rb +0 -30
  375. data/test/regression/test_button14.rb +0 -31
  376. data/test/regression/test_chart_area01.rb +0 -45
  377. data/test/regression/test_chart_area02.rb +0 -45
  378. data/test/regression/test_chart_area03.rb +0 -45
  379. data/test/regression/test_chart_area04.rb +0 -44
  380. data/test/regression/test_chart_axis01.rb +0 -45
  381. data/test/regression/test_chart_axis02.rb +0 -45
  382. data/test/regression/test_chart_axis03.rb +0 -67
  383. data/test/regression/test_chart_axis04.rb +0 -52
  384. data/test/regression/test_chart_axis05.rb +0 -47
  385. data/test/regression/test_chart_axis06.rb +0 -49
  386. data/test/regression/test_chart_axis07.rb +0 -53
  387. data/test/regression/test_chart_axis08.rb +0 -52
  388. data/test/regression/test_chart_axis09.rb +0 -46
  389. data/test/regression/test_chart_axis10.rb +0 -52
  390. data/test/regression/test_chart_axis11.rb +0 -46
  391. data/test/regression/test_chart_axis12.rb +0 -46
  392. data/test/regression/test_chart_axis13.rb +0 -52
  393. data/test/regression/test_chart_axis14.rb +0 -66
  394. data/test/regression/test_chart_axis15.rb +0 -47
  395. data/test/regression/test_chart_axis16.rb +0 -69
  396. data/test/regression/test_chart_axis17.rb +0 -45
  397. data/test/regression/test_chart_axis18.rb +0 -43
  398. data/test/regression/test_chart_axis19.rb +0 -45
  399. data/test/regression/test_chart_axis20.rb +0 -45
  400. data/test/regression/test_chart_axis21.rb +0 -49
  401. data/test/regression/test_chart_axis22.rb +0 -44
  402. data/test/regression/test_chart_axis23.rb +0 -45
  403. data/test/regression/test_chart_axis24.rb +0 -45
  404. data/test/regression/test_chart_axis25.rb +0 -44
  405. data/test/regression/test_chart_axis26.rb +0 -46
  406. data/test/regression/test_chart_axis27.rb +0 -44
  407. data/test/regression/test_chart_axis28.rb +0 -44
  408. data/test/regression/test_chart_axis29.rb +0 -43
  409. data/test/regression/test_chart_axis30.rb +0 -40
  410. data/test/regression/test_chart_axis31.rb +0 -40
  411. data/test/regression/test_chart_axis32.rb +0 -40
  412. data/test/regression/test_chart_axis33.rb +0 -44
  413. data/test/regression/test_chart_axis34.rb +0 -43
  414. data/test/regression/test_chart_axis35.rb +0 -43
  415. data/test/regression/test_chart_axis36.rb +0 -43
  416. data/test/regression/test_chart_axis37.rb +0 -45
  417. data/test/regression/test_chart_axis38.rb +0 -43
  418. data/test/regression/test_chart_axis39.rb +0 -50
  419. data/test/regression/test_chart_axis40.rb +0 -44
  420. data/test/regression/test_chart_axis41.rb +0 -48
  421. data/test/regression/test_chart_axis42.rb +0 -44
  422. data/test/regression/test_chart_axis43.rb +0 -44
  423. data/test/regression/test_chart_axis44.rb +0 -54
  424. data/test/regression/test_chart_axis45.rb +0 -54
  425. data/test/regression/test_chart_axis46.rb +0 -54
  426. data/test/regression/test_chart_axis47.rb +0 -52
  427. data/test/regression/test_chart_axis48.rb +0 -53
  428. data/test/regression/test_chart_bar01.rb +0 -44
  429. data/test/regression/test_chart_bar02.rb +0 -54
  430. data/test/regression/test_chart_bar03.rb +0 -66
  431. data/test/regression/test_chart_bar04.rb +0 -69
  432. data/test/regression/test_chart_bar05.rb +0 -39
  433. data/test/regression/test_chart_bar06.rb +0 -49
  434. data/test/regression/test_chart_bar07.rb +0 -53
  435. data/test/regression/test_chart_bar08.rb +0 -43
  436. data/test/regression/test_chart_bar09.rb +0 -42
  437. data/test/regression/test_chart_bar10.rb +0 -46
  438. data/test/regression/test_chart_bar11.rb +0 -72
  439. data/test/regression/test_chart_bar12.rb +0 -38
  440. data/test/regression/test_chart_bar13.rb +0 -48
  441. data/test/regression/test_chart_bar14.rb +0 -64
  442. data/test/regression/test_chart_bar15.rb +0 -51
  443. data/test/regression/test_chart_bar16.rb +0 -49
  444. data/test/regression/test_chart_bar17.rb +0 -45
  445. data/test/regression/test_chart_bar18.rb +0 -56
  446. data/test/regression/test_chart_bar19.rb +0 -48
  447. data/test/regression/test_chart_bar20.rb +0 -45
  448. data/test/regression/test_chart_bar21.rb +0 -49
  449. data/test/regression/test_chart_bar22.rb +0 -66
  450. data/test/regression/test_chart_bar23.rb +0 -60
  451. data/test/regression/test_chart_bar24.rb +0 -44
  452. data/test/regression/test_chart_blank01.rb +0 -41
  453. data/test/regression/test_chart_blank02.rb +0 -41
  454. data/test/regression/test_chart_blank03.rb +0 -41
  455. data/test/regression/test_chart_blank04.rb +0 -41
  456. data/test/regression/test_chart_blank05.rb +0 -44
  457. data/test/regression/test_chart_blank06.rb +0 -41
  458. data/test/regression/test_chart_chartarea01.rb +0 -52
  459. data/test/regression/test_chart_chartarea02.rb +0 -52
  460. data/test/regression/test_chart_chartarea03.rb +0 -55
  461. data/test/regression/test_chart_chartarea04.rb +0 -71
  462. data/test/regression/test_chart_chartarea05.rb +0 -49
  463. data/test/regression/test_chart_chartarea06.rb +0 -49
  464. data/test/regression/test_chart_clustered01.rb +0 -65
  465. data/test/regression/test_chart_column01.rb +0 -39
  466. data/test/regression/test_chart_column02.rb +0 -44
  467. data/test/regression/test_chart_column03.rb +0 -44
  468. data/test/regression/test_chart_column04.rb +0 -44
  469. data/test/regression/test_chart_column05.rb +0 -39
  470. data/test/regression/test_chart_column06.rb +0 -45
  471. data/test/regression/test_chart_column07.rb +0 -40
  472. data/test/regression/test_chart_column08.rb +0 -42
  473. data/test/regression/test_chart_column09.rb +0 -39
  474. data/test/regression/test_chart_column10.rb +0 -39
  475. data/test/regression/test_chart_column11.rb +0 -41
  476. data/test/regression/test_chart_column12.rb +0 -37
  477. data/test/regression/test_chart_combined01.rb +0 -37
  478. data/test/regression/test_chart_combined02.rb +0 -43
  479. data/test/regression/test_chart_combined03.rb +0 -45
  480. data/test/regression/test_chart_combined04.rb +0 -47
  481. data/test/regression/test_chart_combined05.rb +0 -49
  482. data/test/regression/test_chart_combined06.rb +0 -49
  483. data/test/regression/test_chart_combined07.rb +0 -53
  484. data/test/regression/test_chart_combined08.rb +0 -65
  485. data/test/regression/test_chart_combined09.rb +0 -50
  486. data/test/regression/test_chart_combined10.rb +0 -43
  487. data/test/regression/test_chart_combined11.rb +0 -63
  488. data/test/regression/test_chart_crossing01.rb +0 -49
  489. data/test/regression/test_chart_crossing02.rb +0 -47
  490. data/test/regression/test_chart_crossing03.rb +0 -52
  491. data/test/regression/test_chart_crossing04.rb +0 -52
  492. data/test/regression/test_chart_crossing05.rb +0 -46
  493. data/test/regression/test_chart_crossing06.rb +0 -46
  494. data/test/regression/test_chart_data_labels01.rb +0 -47
  495. data/test/regression/test_chart_data_labels02.rb +0 -47
  496. data/test/regression/test_chart_data_labels03.rb +0 -47
  497. data/test/regression/test_chart_data_labels04.rb +0 -47
  498. data/test/regression/test_chart_data_labels05.rb +0 -50
  499. data/test/regression/test_chart_data_labels06.rb +0 -50
  500. data/test/regression/test_chart_data_labels07.rb +0 -40
  501. data/test/regression/test_chart_data_labels08.rb +0 -46
  502. data/test/regression/test_chart_data_labels09.rb +0 -47
  503. data/test/regression/test_chart_data_labels10.rb +0 -47
  504. data/test/regression/test_chart_data_labels11.rb +0 -37
  505. data/test/regression/test_chart_data_labels12.rb +0 -37
  506. data/test/regression/test_chart_data_labels13.rb +0 -37
  507. data/test/regression/test_chart_data_labels14.rb +0 -37
  508. data/test/regression/test_chart_data_labels15.rb +0 -37
  509. data/test/regression/test_chart_data_labels16.rb +0 -40
  510. data/test/regression/test_chart_data_labels17.rb +0 -63
  511. data/test/regression/test_chart_data_labels18.rb +0 -53
  512. data/test/regression/test_chart_data_labels19.rb +0 -53
  513. data/test/regression/test_chart_data_labels20.rb +0 -44
  514. data/test/regression/test_chart_data_labels21.rb +0 -48
  515. data/test/regression/test_chart_data_labels22.rb +0 -47
  516. data/test/regression/test_chart_data_labels23.rb +0 -50
  517. data/test/regression/test_chart_data_labels24.rb +0 -50
  518. data/test/regression/test_chart_data_labels25.rb +0 -61
  519. data/test/regression/test_chart_data_labels26.rb +0 -44
  520. data/test/regression/test_chart_data_labels27.rb +0 -44
  521. data/test/regression/test_chart_data_labels28.rb +0 -52
  522. data/test/regression/test_chart_data_labels29.rb +0 -43
  523. data/test/regression/test_chart_data_labels30.rb +0 -46
  524. data/test/regression/test_chart_data_labels31.rb +0 -49
  525. data/test/regression/test_chart_data_labels32.rb +0 -54
  526. data/test/regression/test_chart_data_labels33.rb +0 -52
  527. data/test/regression/test_chart_data_labels34.rb +0 -54
  528. data/test/regression/test_chart_data_labels35.rb +0 -46
  529. data/test/regression/test_chart_data_labels36.rb +0 -54
  530. data/test/regression/test_chart_data_labels37.rb +0 -51
  531. data/test/regression/test_chart_data_labels38.rb +0 -54
  532. data/test/regression/test_chart_data_labels39.rb +0 -53
  533. data/test/regression/test_chart_data_labels40.rb +0 -53
  534. data/test/regression/test_chart_data_labels41.rb +0 -54
  535. data/test/regression/test_chart_data_labels42.rb +0 -58
  536. data/test/regression/test_chart_data_labels43.rb +0 -58
  537. data/test/regression/test_chart_data_labels44.rb +0 -56
  538. data/test/regression/test_chart_data_labels45.rb +0 -57
  539. data/test/regression/test_chart_data_labels46.rb +0 -61
  540. data/test/regression/test_chart_data_labels47.rb +0 -61
  541. data/test/regression/test_chart_data_labels48.rb +0 -55
  542. data/test/regression/test_chart_data_labels49.rb +0 -55
  543. data/test/regression/test_chart_data_labels50.rb +0 -57
  544. data/test/regression/test_chart_date01.rb +0 -53
  545. data/test/regression/test_chart_date02.rb +0 -59
  546. data/test/regression/test_chart_date03.rb +0 -59
  547. data/test/regression/test_chart_date04.rb +0 -61
  548. data/test/regression/test_chart_date05.rb +0 -57
  549. data/test/regression/test_chart_display_units01.rb +0 -35
  550. data/test/regression/test_chart_display_units02.rb +0 -36
  551. data/test/regression/test_chart_display_units03.rb +0 -36
  552. data/test/regression/test_chart_display_units04.rb +0 -36
  553. data/test/regression/test_chart_display_units05.rb +0 -36
  554. data/test/regression/test_chart_display_units06.rb +0 -36
  555. data/test/regression/test_chart_display_units07.rb +0 -36
  556. data/test/regression/test_chart_display_units08.rb +0 -36
  557. data/test/regression/test_chart_display_units09.rb +0 -36
  558. data/test/regression/test_chart_display_units10.rb +0 -36
  559. data/test/regression/test_chart_display_units11.rb +0 -36
  560. data/test/regression/test_chart_display_units12.rb +0 -41
  561. data/test/regression/test_chart_doughnut01.rb +0 -39
  562. data/test/regression/test_chart_doughnut02.rb +0 -38
  563. data/test/regression/test_chart_doughnut03.rb +0 -38
  564. data/test/regression/test_chart_doughnut04.rb +0 -38
  565. data/test/regression/test_chart_doughnut05.rb +0 -38
  566. data/test/regression/test_chart_doughnut06.rb +0 -34
  567. data/test/regression/test_chart_doughnut07.rb +0 -37
  568. data/test/regression/test_chart_drop_lines01.rb +0 -46
  569. data/test/regression/test_chart_drop_lines02.rb +0 -51
  570. data/test/regression/test_chart_drop_lines03.rb +0 -46
  571. data/test/regression/test_chart_drop_lines04.rb +0 -64
  572. data/test/regression/test_chart_errorbars01.rb +0 -46
  573. data/test/regression/test_chart_errorbars02.rb +0 -56
  574. data/test/regression/test_chart_errorbars03.rb +0 -52
  575. data/test/regression/test_chart_errorbars04.rb +0 -47
  576. data/test/regression/test_chart_errorbars05.rb +0 -46
  577. data/test/regression/test_chart_errorbars06.rb +0 -46
  578. data/test/regression/test_chart_errorbars07.rb +0 -65
  579. data/test/regression/test_chart_errorbars08.rb +0 -50
  580. data/test/regression/test_chart_errorbars09.rb +0 -50
  581. data/test/regression/test_chart_errorbars10.rb +0 -52
  582. data/test/regression/test_chart_font01.rb +0 -54
  583. data/test/regression/test_chart_font02.rb +0 -56
  584. data/test/regression/test_chart_font03.rb +0 -59
  585. data/test/regression/test_chart_font04.rb +0 -57
  586. data/test/regression/test_chart_font05.rb +0 -54
  587. data/test/regression/test_chart_font06.rb +0 -84
  588. data/test/regression/test_chart_font07.rb +0 -44
  589. data/test/regression/test_chart_font08.rb +0 -44
  590. data/test/regression/test_chart_font09.rb +0 -40
  591. data/test/regression/test_chart_format01.rb +0 -44
  592. data/test/regression/test_chart_format02.rb +0 -45
  593. data/test/regression/test_chart_format03.rb +0 -46
  594. data/test/regression/test_chart_format04.rb +0 -45
  595. data/test/regression/test_chart_format05.rb +0 -45
  596. data/test/regression/test_chart_format06.rb +0 -50
  597. data/test/regression/test_chart_format07.rb +0 -55
  598. data/test/regression/test_chart_format08.rb +0 -50
  599. data/test/regression/test_chart_format09.rb +0 -54
  600. data/test/regression/test_chart_format10.rb +0 -57
  601. data/test/regression/test_chart_format11.rb +0 -61
  602. data/test/regression/test_chart_format12.rb +0 -58
  603. data/test/regression/test_chart_format13.rb +0 -50
  604. data/test/regression/test_chart_format14.rb +0 -54
  605. data/test/regression/test_chart_format15.rb +0 -52
  606. data/test/regression/test_chart_format16.rb +0 -55
  607. data/test/regression/test_chart_format17.rb +0 -39
  608. data/test/regression/test_chart_format18.rb +0 -43
  609. data/test/regression/test_chart_format19.rb +0 -46
  610. data/test/regression/test_chart_format20.rb +0 -54
  611. data/test/regression/test_chart_format21.rb +0 -47
  612. data/test/regression/test_chart_format22.rb +0 -47
  613. data/test/regression/test_chart_format23.rb +0 -47
  614. data/test/regression/test_chart_format24.rb +0 -52
  615. data/test/regression/test_chart_format25.rb +0 -46
  616. data/test/regression/test_chart_format26.rb +0 -48
  617. data/test/regression/test_chart_format27.rb +0 -58
  618. data/test/regression/test_chart_format28.rb +0 -52
  619. data/test/regression/test_chart_format29.rb +0 -59
  620. data/test/regression/test_chart_format30.rb +0 -53
  621. data/test/regression/test_chart_format31.rb +0 -60
  622. data/test/regression/test_chart_gap01.rb +0 -47
  623. data/test/regression/test_chart_gap02.rb +0 -47
  624. data/test/regression/test_chart_gap03.rb +0 -47
  625. data/test/regression/test_chart_gap04.rb +0 -54
  626. data/test/regression/test_chart_gap05.rb +0 -56
  627. data/test/regression/test_chart_gradient01.rb +0 -43
  628. data/test/regression/test_chart_gradient02.rb +0 -43
  629. data/test/regression/test_chart_gradient03.rb +0 -46
  630. data/test/regression/test_chart_gradient04.rb +0 -46
  631. data/test/regression/test_chart_gradient05.rb +0 -46
  632. data/test/regression/test_chart_gradient06.rb +0 -46
  633. data/test/regression/test_chart_gradient07.rb +0 -44
  634. data/test/regression/test_chart_gradient08.rb +0 -43
  635. data/test/regression/test_chart_gradient09.rb +0 -43
  636. data/test/regression/test_chart_gradient10.rb +0 -43
  637. data/test/regression/test_chart_gradient11.rb +0 -43
  638. data/test/regression/test_chart_gradient12.rb +0 -46
  639. data/test/regression/test_chart_gradient13.rb +0 -46
  640. data/test/regression/test_chart_gridlines01.rb +0 -42
  641. data/test/regression/test_chart_gridlines02.rb +0 -47
  642. data/test/regression/test_chart_gridlines03.rb +0 -63
  643. data/test/regression/test_chart_gridlines04.rb +0 -44
  644. data/test/regression/test_chart_gridlines05.rb +0 -48
  645. data/test/regression/test_chart_gridlines06.rb +0 -53
  646. data/test/regression/test_chart_gridlines07.rb +0 -69
  647. data/test/regression/test_chart_gridlines08.rb +0 -45
  648. data/test/regression/test_chart_gridlines09.rb +0 -67
  649. data/test/regression/test_chart_layout01.rb +0 -48
  650. data/test/regression/test_chart_layout02.rb +0 -48
  651. data/test/regression/test_chart_layout03.rb +0 -49
  652. data/test/regression/test_chart_layout04.rb +0 -47
  653. data/test/regression/test_chart_layout05.rb +0 -64
  654. data/test/regression/test_chart_layout06.rb +0 -48
  655. data/test/regression/test_chart_layout07.rb +0 -48
  656. data/test/regression/test_chart_layout08.rb +0 -49
  657. data/test/regression/test_chart_legend01.rb +0 -41
  658. data/test/regression/test_chart_legend02.rb +0 -41
  659. data/test/regression/test_chart_legend03.rb +0 -41
  660. data/test/regression/test_chart_legend04.rb +0 -41
  661. data/test/regression/test_chart_legend05.rb +0 -41
  662. data/test/regression/test_chart_legend06.rb +0 -41
  663. data/test/regression/test_chart_legend07.rb +0 -38
  664. data/test/regression/test_chart_line01.rb +0 -39
  665. data/test/regression/test_chart_line02.rb +0 -44
  666. data/test/regression/test_chart_line03.rb +0 -39
  667. data/test/regression/test_chart_line04.rb +0 -39
  668. data/test/regression/test_chart_line05.rb +0 -43
  669. data/test/regression/test_chart_line06.rb +0 -43
  670. data/test/regression/test_chart_name01.rb +0 -43
  671. data/test/regression/test_chart_name02.rb +0 -55
  672. data/test/regression/test_chart_name03.rb +0 -55
  673. data/test/regression/test_chart_order01.rb +0 -54
  674. data/test/regression/test_chart_order02.rb +0 -54
  675. data/test/regression/test_chart_order03.rb +0 -60
  676. data/test/regression/test_chart_pattern01.rb +0 -49
  677. data/test/regression/test_chart_pattern02.rb +0 -106
  678. data/test/regression/test_chart_pattern03.rb +0 -105
  679. data/test/regression/test_chart_pattern04.rb +0 -105
  680. data/test/regression/test_chart_pattern05.rb +0 -105
  681. data/test/regression/test_chart_pattern06.rb +0 -105
  682. data/test/regression/test_chart_pattern07.rb +0 -105
  683. data/test/regression/test_chart_pattern08.rb +0 -105
  684. data/test/regression/test_chart_pattern09.rb +0 -57
  685. data/test/regression/test_chart_pattern10.rb +0 -57
  686. data/test/regression/test_chart_pie01.rb +0 -36
  687. data/test/regression/test_chart_pie02.rb +0 -38
  688. data/test/regression/test_chart_pie03.rb +0 -38
  689. data/test/regression/test_chart_pie04.rb +0 -38
  690. data/test/regression/test_chart_pie05.rb +0 -38
  691. data/test/regression/test_chart_points01.rb +0 -37
  692. data/test/regression/test_chart_points02.rb +0 -40
  693. data/test/regression/test_chart_points03.rb +0 -42
  694. data/test/regression/test_chart_points04.rb +0 -52
  695. data/test/regression/test_chart_points05.rb +0 -49
  696. data/test/regression/test_chart_points06.rb +0 -49
  697. data/test/regression/test_chart_radar01.rb +0 -39
  698. data/test/regression/test_chart_radar02.rb +0 -43
  699. data/test/regression/test_chart_radar03.rb +0 -43
  700. data/test/regression/test_chart_scatter01.rb +0 -45
  701. data/test/regression/test_chart_scatter02.rb +0 -49
  702. data/test/regression/test_chart_scatter03.rb +0 -49
  703. data/test/regression/test_chart_scatter04.rb +0 -49
  704. data/test/regression/test_chart_scatter05.rb +0 -49
  705. data/test/regression/test_chart_scatter06.rb +0 -51
  706. data/test/regression/test_chart_scatter07.rb +0 -59
  707. data/test/regression/test_chart_scatter08.rb +0 -57
  708. data/test/regression/test_chart_scatter09.rb +0 -59
  709. data/test/regression/test_chart_scatter10.rb +0 -59
  710. data/test/regression/test_chart_scatter11.rb +0 -59
  711. data/test/regression/test_chart_scatter12.rb +0 -51
  712. data/test/regression/test_chart_scatter13.rb +0 -51
  713. data/test/regression/test_chart_scatter14.rb +0 -52
  714. data/test/regression/test_chart_scatter15.rb +0 -44
  715. data/test/regression/test_chart_size01.rb +0 -41
  716. data/test/regression/test_chart_size02.rb +0 -41
  717. data/test/regression/test_chart_size03.rb +0 -42
  718. data/test/regression/test_chart_size04.rb +0 -41
  719. data/test/regression/test_chart_size05.rb +0 -39
  720. data/test/regression/test_chart_sparse01.rb +0 -51
  721. data/test/regression/test_chart_stock01.rb +0 -65
  722. data/test/regression/test_chart_stock02.rb +0 -71
  723. data/test/regression/test_chart_str01.rb +0 -43
  724. data/test/regression/test_chart_str02.rb +0 -47
  725. data/test/regression/test_chart_table01.rb +0 -42
  726. data/test/regression/test_chart_table02.rb +0 -47
  727. data/test/regression/test_chart_table03.rb +0 -56
  728. data/test/regression/test_chart_title01.rb +0 -39
  729. data/test/regression/test_chart_title02.rb +0 -39
  730. data/test/regression/test_chartsheet01.rb +0 -41
  731. data/test/regression/test_chartsheet02.rb +0 -48
  732. data/test/regression/test_chartsheet03.rb +0 -46
  733. data/test/regression/test_chartsheet04.rb +0 -46
  734. data/test/regression/test_chartsheet05.rb +0 -46
  735. data/test/regression/test_chartsheet06.rb +0 -42
  736. data/test/regression/test_chartsheet07.rb +0 -55
  737. data/test/regression/test_chartsheet08.rb +0 -59
  738. data/test/regression/test_chartsheet09.rb +0 -50
  739. data/test/regression/test_comment01.rb +0 -27
  740. data/test/regression/test_comment02.rb +0 -28
  741. data/test/regression/test_comment03.rb +0 -31
  742. data/test/regression/test_comment04.rb +0 -36
  743. data/test/regression/test_comment06.rb +0 -33
  744. data/test/regression/test_comment07.rb +0 -35
  745. data/test/regression/test_comment08.rb +0 -35
  746. data/test/regression/test_comment09.rb +0 -31
  747. data/test/regression/test_comment10.rb +0 -30
  748. data/test/regression/test_comment11.rb +0 -31
  749. data/test/regression/test_comment12.rb +0 -30
  750. data/test/regression/test_comment13.rb +0 -36
  751. data/test/regression/test_comment14.rb +0 -29
  752. data/test/regression/test_comment15.rb +0 -28
  753. data/test/regression/test_comment16.rb +0 -34
  754. data/test/regression/test_cond_format01.rb +0 -45
  755. data/test/regression/test_cond_format02.rb +0 -40
  756. data/test/regression/test_cond_format03.rb +0 -51
  757. data/test/regression/test_cond_format04.rb +0 -50
  758. data/test/regression/test_cond_format05.rb +0 -40
  759. data/test/regression/test_cond_format06.rb +0 -44
  760. data/test/regression/test_cond_format07.rb +0 -61
  761. data/test/regression/test_cond_format08.rb +0 -45
  762. data/test/regression/test_cond_format10.rb +0 -42
  763. data/test/regression/test_cond_format11.rb +0 -46
  764. data/test/regression/test_cond_format12.rb +0 -46
  765. data/test/regression/test_cond_format13.rb +0 -52
  766. data/test/regression/test_cond_format14.rb +0 -42
  767. data/test/regression/test_cond_format15.rb +0 -53
  768. data/test/regression/test_cond_format16.rb +0 -53
  769. data/test/regression/test_cond_format17.rb +0 -37
  770. data/test/regression/test_cond_format18.rb +0 -136
  771. data/test/regression/test_cond_format19.rb +0 -64
  772. data/test/regression/test_cond_format20.rb +0 -43
  773. data/test/regression/test_custom_colors01.rb +0 -33
  774. data/test/regression/test_data_validation01.rb +0 -22
  775. data/test/regression/test_data_validation02.rb +0 -27
  776. data/test/regression/test_data_validation03.rb +0 -44
  777. data/test/regression/test_data_validation04.rb +0 -37
  778. data/test/regression/test_data_validation05.rb +0 -36
  779. data/test/regression/test_data_validation08.rb +0 -24
  780. data/test/regression/test_date_1904_01.rb +0 -31
  781. data/test/regression/test_date_1904_02.rb +0 -34
  782. data/test/regression/test_date_examples01.rb +0 -48
  783. data/test/regression/test_default_format01.rb +0 -22
  784. data/test/regression/test_default_row01.rb +0 -26
  785. data/test/regression/test_default_row02.rb +0 -28
  786. data/test/regression/test_default_row03.rb +0 -28
  787. data/test/regression/test_default_row04.rb +0 -31
  788. data/test/regression/test_default_row05.rb +0 -32
  789. data/test/regression/test_defined_name01.rb +0 -45
  790. data/test/regression/test_defined_name02.rb +0 -30
  791. data/test/regression/test_defined_name03.rb +0 -30
  792. data/test/regression/test_defined_name04.rb +0 -50
  793. data/test/regression/test_dynamic_array01.rb +0 -25
  794. data/test/regression/test_escapes01.rb +0 -35
  795. data/test/regression/test_escapes02.rb +0 -32
  796. data/test/regression/test_escapes03.rb +0 -33
  797. data/test/regression/test_escapes04.rb +0 -31
  798. data/test/regression/test_escapes05.rb +0 -32
  799. data/test/regression/test_escapes06.rb +0 -26
  800. data/test/regression/test_escapes07.rb +0 -29
  801. data/test/regression/test_escapes08.rb +0 -30
  802. data/test/regression/test_excel2003_style01.rb +0 -21
  803. data/test/regression/test_excel2003_style02.rb +0 -37
  804. data/test/regression/test_excel2003_style03.rb +0 -40
  805. data/test/regression/test_excel2003_style04.rb +0 -24
  806. data/test/regression/test_excel2003_style05.rb +0 -31
  807. data/test/regression/test_excel2003_style06.rb +0 -31
  808. data/test/regression/test_excel2003_style07.rb +0 -31
  809. data/test/regression/test_excel2003_style08.rb +0 -26
  810. data/test/regression/test_firstsheet01.rb +0 -43
  811. data/test/regression/test_fit_to_pages01.rb +0 -35
  812. data/test/regression/test_fit_to_pages02.rb +0 -35
  813. data/test/regression/test_fit_to_pages03.rb +0 -35
  814. data/test/regression/test_fit_to_pages04.rb +0 -35
  815. data/test/regression/test_fit_to_pages05.rb +0 -35
  816. data/test/regression/test_format01.rb +0 -35
  817. data/test/regression/test_format02.rb +0 -47
  818. data/test/regression/test_format03.rb +0 -31
  819. data/test/regression/test_format04.rb +0 -41
  820. data/test/regression/test_format05.rb +0 -26
  821. data/test/regression/test_format11.rb +0 -28
  822. data/test/regression/test_format12.rb +0 -41
  823. data/test/regression/test_format13.rb +0 -31
  824. data/test/regression/test_format14.rb +0 -26
  825. data/test/regression/test_format15.rb +0 -26
  826. data/test/regression/test_format16.rb +0 -24
  827. data/test/regression/test_format17.rb +0 -24
  828. data/test/regression/test_formula_results01.rb +0 -37
  829. data/test/regression/test_gridlines01.rb +0 -34
  830. data/test/regression/test_header01.rb +0 -28
  831. data/test/regression/test_header02.rb +0 -28
  832. data/test/regression/test_header03.rb +0 -31
  833. data/test/regression/test_header04.rb +0 -30
  834. data/test/regression/test_header_image01.rb +0 -26
  835. data/test/regression/test_header_image02.rb +0 -33
  836. data/test/regression/test_header_image03.rb +0 -34
  837. data/test/regression/test_header_image04.rb +0 -34
  838. data/test/regression/test_header_image05.rb +0 -28
  839. data/test/regression/test_header_image06.rb +0 -32
  840. data/test/regression/test_header_image07.rb +0 -29
  841. data/test/regression/test_header_image08.rb +0 -33
  842. data/test/regression/test_header_image09.rb +0 -32
  843. data/test/regression/test_header_image10.rb +0 -36
  844. data/test/regression/test_header_image11.rb +0 -28
  845. data/test/regression/test_header_image12.rb +0 -28
  846. data/test/regression/test_header_image13.rb +0 -36
  847. data/test/regression/test_header_image14.rb +0 -36
  848. data/test/regression/test_header_image15.rb +0 -36
  849. data/test/regression/test_header_image16.rb +0 -42
  850. data/test/regression/test_header_image17.rb +0 -46
  851. data/test/regression/test_header_image18.rb +0 -48
  852. data/test/regression/test_header_image19.rb +0 -36
  853. data/test/regression/test_hide01.rb +0 -25
  854. data/test/regression/test_hyperlink01.rb +0 -26
  855. data/test/regression/test_hyperlink02.rb +0 -30
  856. data/test/regression/test_hyperlink03.rb +0 -36
  857. data/test/regression/test_hyperlink04.rb +0 -34
  858. data/test/regression/test_hyperlink05.rb +0 -29
  859. data/test/regression/test_hyperlink06.rb +0 -28
  860. data/test/regression/test_hyperlink07.rb +0 -23
  861. data/test/regression/test_hyperlink08.rb +0 -27
  862. data/test/regression/test_hyperlink09.rb +0 -28
  863. data/test/regression/test_hyperlink10.rb +0 -27
  864. data/test/regression/test_hyperlink11.rb +0 -27
  865. data/test/regression/test_hyperlink12.rb +0 -28
  866. data/test/regression/test_hyperlink13.rb +0 -27
  867. data/test/regression/test_hyperlink14.rb +0 -27
  868. data/test/regression/test_hyperlink15.rb +0 -29
  869. data/test/regression/test_hyperlink16.rb +0 -29
  870. data/test/regression/test_hyperlink17.rb +0 -30
  871. data/test/regression/test_hyperlink18.rb +0 -30
  872. data/test/regression/test_hyperlink20.rb +0 -32
  873. data/test/regression/test_hyperlink21.rb +0 -27
  874. data/test/regression/test_hyperlink22.rb +0 -27
  875. data/test/regression/test_hyperlink23.rb +0 -27
  876. data/test/regression/test_hyperlink24.rb +0 -27
  877. data/test/regression/test_hyperlink25.rb +0 -30
  878. data/test/regression/test_hyperlink26.rb +0 -30
  879. data/test/regression/test_hyperlink27.rb +0 -27
  880. data/test/regression/test_hyperlink28.rb +0 -50
  881. data/test/regression/test_hyperlink29.rb +0 -27
  882. data/test/regression/test_hyperlink30.rb +0 -36
  883. data/test/regression/test_hyperlink32.rb +0 -27
  884. data/test/regression/test_hyperlink33.rb +0 -28
  885. data/test/regression/test_hyperlink34.rb +0 -33
  886. data/test/regression/test_hyperlink35.rb +0 -39
  887. data/test/regression/test_hyperlink36.rb +0 -34
  888. data/test/regression/test_hyperlink37.rb +0 -33
  889. data/test/regression/test_hyperlink38.rb +0 -27
  890. data/test/regression/test_hyperlink39.rb +0 -27
  891. data/test/regression/test_hyperlink40.rb +0 -27
  892. data/test/regression/test_hyperlink41.rb +0 -27
  893. data/test/regression/test_hyperlink42.rb +0 -27
  894. data/test/regression/test_hyperlink43.rb +0 -27
  895. data/test/regression/test_hyperlink44.rb +0 -27
  896. data/test/regression/test_hyperlink45.rb +0 -27
  897. data/test/regression/test_hyperlink47.rb +0 -27
  898. data/test/regression/test_hyperlink48.rb +0 -31
  899. data/test/regression/test_hyperlink49.rb +0 -29
  900. data/test/regression/test_hyperlink50.rb +0 -27
  901. data/test/regression/test_hyperlink51.rb +0 -27
  902. data/test/regression/test_ignore_error01.rb +0 -23
  903. data/test/regression/test_ignore_error02.rb +0 -24
  904. data/test/regression/test_ignore_error03.rb +0 -26
  905. data/test/regression/test_ignore_error04.rb +0 -26
  906. data/test/regression/test_ignore_error05.rb +0 -32
  907. data/test/regression/test_ignore_error06.rb +0 -32
  908. data/test/regression/test_image01.rb +0 -23
  909. data/test/regression/test_image02.rb +0 -23
  910. data/test/regression/test_image03.rb +0 -23
  911. data/test/regression/test_image04.rb +0 -23
  912. data/test/regression/test_image05.rb +0 -26
  913. data/test/regression/test_image06.rb +0 -36
  914. data/test/regression/test_image07.rb +0 -25
  915. data/test/regression/test_image08.rb +0 -27
  916. data/test/regression/test_image09.rb +0 -24
  917. data/test/regression/test_image10.rb +0 -24
  918. data/test/regression/test_image11.rb +0 -24
  919. data/test/regression/test_image12.rb +0 -27
  920. data/test/regression/test_image13.rb +0 -27
  921. data/test/regression/test_image14.rb +0 -29
  922. data/test/regression/test_image15.rb +0 -31
  923. data/test/regression/test_image16.rb +0 -24
  924. data/test/regression/test_image17.rb +0 -23
  925. data/test/regression/test_image18.rb +0 -27
  926. data/test/regression/test_image19.rb +0 -24
  927. data/test/regression/test_image22.rb +0 -24
  928. data/test/regression/test_image23.rb +0 -30
  929. data/test/regression/test_image24.rb +0 -24
  930. data/test/regression/test_image25.rb +0 -24
  931. data/test/regression/test_image26.rb +0 -30
  932. data/test/regression/test_image27.rb +0 -24
  933. data/test/regression/test_image28.rb +0 -27
  934. data/test/regression/test_image29.rb +0 -27
  935. data/test/regression/test_image30.rb +0 -27
  936. data/test/regression/test_image31.rb +0 -30
  937. data/test/regression/test_image32.rb +0 -28
  938. data/test/regression/test_image33.rb +0 -32
  939. data/test/regression/test_image35.rb +0 -26
  940. data/test/regression/test_image36.rb +0 -26
  941. data/test/regression/test_image44.rb +0 -28
  942. data/test/regression/test_image45.rb +0 -29
  943. data/test/regression/test_image46.rb +0 -29
  944. data/test/regression/test_image47.rb +0 -28
  945. data/test/regression/test_image48.rb +0 -32
  946. data/test/regression/test_image49.rb +0 -38
  947. data/test/regression/test_image50.rb +0 -24
  948. data/test/regression/test_image51.rb +0 -30
  949. data/test/regression/test_image52.rb +0 -26
  950. data/test/regression/test_image53.rb +0 -26
  951. data/test/regression/test_image54.rb +0 -26
  952. data/test/regression/test_image55.rb +0 -27
  953. data/test/regression/test_image56.rb +0 -23
  954. data/test/regression/test_image57.rb +0 -23
  955. data/test/regression/test_landscape01.rb +0 -27
  956. data/test/regression/test_macro01.rb +0 -29
  957. data/test/regression/test_merge_cells01.rb +0 -25
  958. data/test/regression/test_merge_range01.rb +0 -24
  959. data/test/regression/test_merge_range02.rb +0 -24
  960. data/test/regression/test_merge_range03.rb +0 -26
  961. data/test/regression/test_merge_range04.rb +0 -24
  962. data/test/regression/test_merge_range05.rb +0 -24
  963. data/test/regression/test_object_position01.rb +0 -26
  964. data/test/regression/test_object_position02.rb +0 -26
  965. data/test/regression/test_object_position03.rb +0 -26
  966. data/test/regression/test_object_position04.rb +0 -44
  967. data/test/regression/test_object_position06.rb +0 -28
  968. data/test/regression/test_object_position07.rb +0 -28
  969. data/test/regression/test_object_position08.rb +0 -47
  970. data/test/regression/test_object_position09.rb +0 -50
  971. data/test/regression/test_object_position10.rb +0 -28
  972. data/test/regression/test_object_position12.rb +0 -25
  973. data/test/regression/test_object_position13.rb +0 -25
  974. data/test/regression/test_object_position14.rb +0 -25
  975. data/test/regression/test_object_position15.rb +0 -29
  976. data/test/regression/test_object_position16.rb +0 -29
  977. data/test/regression/test_object_position17.rb +0 -29
  978. data/test/regression/test_object_position18.rb +0 -29
  979. data/test/regression/test_object_position19.rb +0 -29
  980. data/test/regression/test_object_position20.rb +0 -29
  981. data/test/regression/test_outline01.rb +0 -84
  982. data/test/regression/test_outline02.rb +0 -87
  983. data/test/regression/test_outline03.rb +0 -57
  984. data/test/regression/test_outline04.rb +0 -53
  985. data/test/regression/test_outline05.rb +0 -88
  986. data/test/regression/test_outline06.rb +0 -87
  987. data/test/regression/test_page_breaks01.rb +0 -34
  988. data/test/regression/test_page_breaks02.rb +0 -34
  989. data/test/regression/test_page_breaks03.rb +0 -34
  990. data/test/regression/test_page_breaks04.rb +0 -34
  991. data/test/regression/test_page_breaks05.rb +0 -34
  992. data/test/regression/test_page_breaks06.rb +0 -35
  993. data/test/regression/test_page_view01.rb +0 -34
  994. data/test/regression/test_panes01.rb +0 -61
  995. data/test/regression/test_print_across01.rb +0 -35
  996. data/test/regression/test_print_area01.rb +0 -34
  997. data/test/regression/test_print_area02.rb +0 -34
  998. data/test/regression/test_print_area03.rb +0 -34
  999. data/test/regression/test_print_area04.rb +0 -34
  1000. data/test/regression/test_print_area05.rb +0 -34
  1001. data/test/regression/test_print_area06.rb +0 -34
  1002. data/test/regression/test_print_area07.rb +0 -35
  1003. data/test/regression/test_print_options01.rb +0 -34
  1004. data/test/regression/test_print_options02.rb +0 -34
  1005. data/test/regression/test_print_options03.rb +0 -34
  1006. data/test/regression/test_print_options04.rb +0 -34
  1007. data/test/regression/test_print_options05.rb +0 -37
  1008. data/test/regression/test_print_options06.rb +0 -35
  1009. data/test/regression/test_print_options07.rb +0 -31
  1010. data/test/regression/test_print_scale01.rb +0 -35
  1011. data/test/regression/test_print_scale02.rb +0 -35
  1012. data/test/regression/test_properties01.rb +0 -36
  1013. data/test/regression/test_properties02.rb +0 -25
  1014. data/test/regression/test_properties03.rb +0 -26
  1015. data/test/regression/test_properties04.rb +0 -61
  1016. data/test/regression/test_properties05.rb +0 -30
  1017. data/test/regression/test_protect01.rb +0 -28
  1018. data/test/regression/test_protect02.rb +0 -30
  1019. data/test/regression/test_protect03.rb +0 -30
  1020. data/test/regression/test_protect04.rb +0 -32
  1021. data/test/regression/test_protect05.rb +0 -35
  1022. data/test/regression/test_protect06.rb +0 -35
  1023. data/test/regression/test_protect07.rb +0 -23
  1024. data/test/regression/test_quote_name01.rb +0 -48
  1025. data/test/regression/test_quote_name03.rb +0 -41
  1026. data/test/regression/test_quote_name04.rb +0 -40
  1027. data/test/regression/test_repeat01.rb +0 -34
  1028. data/test/regression/test_repeat02.rb +0 -34
  1029. data/test/regression/test_repeat03.rb +0 -35
  1030. data/test/regression/test_repeat04.rb +0 -34
  1031. data/test/regression/test_repeat05.rb +0 -41
  1032. data/test/regression/test_rich_string01.rb +0 -28
  1033. data/test/regression/test_rich_string02.rb +0 -28
  1034. data/test/regression/test_rich_string03.rb +0 -28
  1035. data/test/regression/test_rich_string04.rb +0 -28
  1036. data/test/regression/test_rich_string05.rb +0 -30
  1037. data/test/regression/test_rich_string06.rb +0 -27
  1038. data/test/regression/test_rich_string07.rb +0 -33
  1039. data/test/regression/test_rich_string08.rb +0 -29
  1040. data/test/regression/test_rich_string09.rb +0 -31
  1041. data/test/regression/test_rich_string10.rb +0 -30
  1042. data/test/regression/test_rich_string11.rb +0 -29
  1043. data/test/regression/test_rich_string12.rb +0 -32
  1044. data/test/regression/test_row_col_format01.rb +0 -24
  1045. data/test/regression/test_row_col_format02.rb +0 -25
  1046. data/test/regression/test_row_col_format03.rb +0 -24
  1047. data/test/regression/test_row_col_format04.rb +0 -25
  1048. data/test/regression/test_row_col_format05.rb +0 -26
  1049. data/test/regression/test_row_col_format06.rb +0 -29
  1050. data/test/regression/test_row_col_format07.rb +0 -24
  1051. data/test/regression/test_row_col_format08.rb +0 -34
  1052. data/test/regression/test_row_col_format09.rb +0 -33
  1053. data/test/regression/test_row_col_format10.rb +0 -24
  1054. data/test/regression/test_row_col_format11.rb +0 -23
  1055. data/test/regression/test_row_col_format12.rb +0 -23
  1056. data/test/regression/test_row_col_format13.rb +0 -28
  1057. data/test/regression/test_row_col_format14.rb +0 -28
  1058. data/test/regression/test_selection01.rb +0 -23
  1059. data/test/regression/test_selection02.rb +0 -33
  1060. data/test/regression/test_set_column01.rb +0 -63
  1061. data/test/regression/test_set_column02.rb +0 -64
  1062. data/test/regression/test_set_column03.rb +0 -34
  1063. data/test/regression/test_set_column04.rb +0 -42
  1064. data/test/regression/test_set_column05.rb +0 -52
  1065. data/test/regression/test_set_column06.rb +0 -49
  1066. data/test/regression/test_set_column07.rb +0 -45
  1067. data/test/regression/test_set_column08.rb +0 -42
  1068. data/test/regression/test_set_column09.rb +0 -31
  1069. data/test/regression/test_set_column10.rb +0 -55
  1070. data/test/regression/test_set_column11.rb +0 -48
  1071. data/test/regression/test_set_print_scale01.rb +0 -36
  1072. data/test/regression/test_set_row01.rb +0 -35
  1073. data/test/regression/test_set_row02.rb +0 -35
  1074. data/test/regression/test_set_row03.rb +0 -35
  1075. data/test/regression/test_set_row04.rb +0 -35
  1076. data/test/regression/test_set_start_page01.rb +0 -33
  1077. data/test/regression/test_set_start_page02.rb +0 -33
  1078. data/test/regression/test_set_start_page03.rb +0 -33
  1079. data/test/regression/test_shape01.rb +0 -25
  1080. data/test/regression/test_shape02.rb +0 -42
  1081. data/test/regression/test_shape03.rb +0 -45
  1082. data/test/regression/test_shape04.rb +0 -43
  1083. data/test/regression/test_shape_connect01.rb +0 -48
  1084. data/test/regression/test_shape_connect02.rb +0 -42
  1085. data/test/regression/test_shape_connect03.rb +0 -78
  1086. data/test/regression/test_shape_connect04.rb +0 -75
  1087. data/test/regression/test_shape_scale01.rb +0 -45
  1088. data/test/regression/test_shape_stencil01.rb +0 -39
  1089. data/test/regression/test_shared_strings01.rb +0 -32
  1090. data/test/regression/test_shared_strings02.rb +0 -45
  1091. data/test/regression/test_shared_strings_encoding.rb +0 -0
  1092. data/test/regression/test_simple01.rb +0 -24
  1093. data/test/regression/test_simple02.rb +0 -32
  1094. data/test/regression/test_simple03.rb +0 -39
  1095. data/test/regression/test_simple04.rb +0 -29
  1096. data/test/regression/test_simple05.rb +0 -40
  1097. data/test/regression/test_tab_color01.rb +0 -20
  1098. data/test/regression/test_table01.rb +0 -27
  1099. data/test/regression/test_table02.rb +0 -37
  1100. data/test/regression/test_table03.rb +0 -33
  1101. data/test/regression/test_table04.rb +0 -37
  1102. data/test/regression/test_table05.rb +0 -41
  1103. data/test/regression/test_table06.rb +0 -44
  1104. data/test/regression/test_table07.rb +0 -29
  1105. data/test/regression/test_table08.rb +0 -48
  1106. data/test/regression/test_table09.rb +0 -65
  1107. data/test/regression/test_table10.rb +0 -68
  1108. data/test/regression/test_table11.rb +0 -37
  1109. data/test/regression/test_table12.rb +0 -36
  1110. data/test/regression/test_table13.rb +0 -51
  1111. data/test/regression/test_table14.rb +0 -51
  1112. data/test/regression/test_table15.rb +0 -37
  1113. data/test/regression/test_table16.rb +0 -37
  1114. data/test/regression/test_table17.rb +0 -70
  1115. data/test/regression/test_table20.rb +0 -34
  1116. data/test/regression/test_table21.rb +0 -36
  1117. data/test/regression/test_table22.rb +0 -32
  1118. data/test/regression/test_table23.rb +0 -56
  1119. data/test/regression/test_table24.rb +0 -27
  1120. data/test/regression/test_table25.rb +0 -27
  1121. data/test/regression/test_table26.rb +0 -38
  1122. data/test/regression/test_tutorial01.rb +0 -38
  1123. data/test/regression/test_tutorial02.rb +0 -44
  1124. data/test/regression/test_tutorial03.rb +0 -49
  1125. data/test/regression/test_types02.rb +0 -25
  1126. data/test/regression/test_types08.rb +0 -31
  1127. data/test/regression/test_update_range_format_with_params.rb +0 -42
  1128. data/test/regression/test_urls_as_strings.rb +0 -25
  1129. data/test/regression/test_utf8_01.rb +0 -23
  1130. data/test/regression/test_utf8_03.rb +0 -23
  1131. data/test/regression/test_utf8_04.rb +0 -23
  1132. data/test/regression/test_utf8_05.rb +0 -26
  1133. data/test/regression/test_utf8_06.rb +0 -28
  1134. data/test/regression/test_utf8_07.rb +0 -27
  1135. data/test/regression/test_utf8_08.rb +0 -38
  1136. data/test/regression/test_utf8_09.rb +0 -20
  1137. data/test/regression/test_utf8_10.rb +0 -42
  1138. data/test/regression/test_utf8_11.rb +0 -23
  1139. data/test/regression/test_vml01.rb +0 -29
  1140. data/test/regression/test_vml02.rb +0 -31
  1141. data/test/regression/test_vml03.rb +0 -40
  1142. data/test/regression/xlsx_files/array_formula01.xlsx +0 -0
  1143. data/test/regression/xlsx_files/array_formula02.xlsx +0 -0
  1144. data/test/regression/xlsx_files/array_formula03.xlsx +0 -0
  1145. data/test/regression/xlsx_files/array_formula04.xlsx +0 -0
  1146. data/test/regression/xlsx_files/autofilter00.xlsx +0 -0
  1147. data/test/regression/xlsx_files/autofilter01.xlsx +0 -0
  1148. data/test/regression/xlsx_files/autofilter02.xlsx +0 -0
  1149. data/test/regression/xlsx_files/autofilter03.xlsx +0 -0
  1150. data/test/regression/xlsx_files/autofilter04.xlsx +0 -0
  1151. data/test/regression/xlsx_files/autofilter05.xlsx +0 -0
  1152. data/test/regression/xlsx_files/autofilter06.xlsx +0 -0
  1153. data/test/regression/xlsx_files/autofilter07.xlsx +0 -0
  1154. data/test/regression/xlsx_files/autofilter08.xlsx +0 -0
  1155. data/test/regression/xlsx_files/autofilter09.xlsx +0 -0
  1156. data/test/regression/xlsx_files/autofilter10.xlsx +0 -0
  1157. data/test/regression/xlsx_files/background01.xlsx +0 -0
  1158. data/test/regression/xlsx_files/background02.xlsx +0 -0
  1159. data/test/regression/xlsx_files/background03.xlsx +0 -0
  1160. data/test/regression/xlsx_files/background04.xlsx +0 -0
  1161. data/test/regression/xlsx_files/background05.xlsx +0 -0
  1162. data/test/regression/xlsx_files/background06.xlsx +0 -0
  1163. data/test/regression/xlsx_files/background07.xlsx +0 -0
  1164. data/test/regression/xlsx_files/button01.xlsx +0 -0
  1165. data/test/regression/xlsx_files/button02.xlsx +0 -0
  1166. data/test/regression/xlsx_files/button03.xlsx +0 -0
  1167. data/test/regression/xlsx_files/button04.xlsx +0 -0
  1168. data/test/regression/xlsx_files/button05.xlsx +0 -0
  1169. data/test/regression/xlsx_files/button07.xlsm +0 -0
  1170. data/test/regression/xlsx_files/button08.xlsx +0 -0
  1171. data/test/regression/xlsx_files/button09.xlsx +0 -0
  1172. data/test/regression/xlsx_files/button10.xlsx +0 -0
  1173. data/test/regression/xlsx_files/button11.xlsx +0 -0
  1174. data/test/regression/xlsx_files/button12.xlsx +0 -0
  1175. data/test/regression/xlsx_files/chart_area01.xlsx +0 -0
  1176. data/test/regression/xlsx_files/chart_area02.xlsx +0 -0
  1177. data/test/regression/xlsx_files/chart_area03.xlsx +0 -0
  1178. data/test/regression/xlsx_files/chart_area04.xlsx +0 -0
  1179. data/test/regression/xlsx_files/chart_axis01.xlsx +0 -0
  1180. data/test/regression/xlsx_files/chart_axis02.xlsx +0 -0
  1181. data/test/regression/xlsx_files/chart_axis03.xlsx +0 -0
  1182. data/test/regression/xlsx_files/chart_axis04.xlsx +0 -0
  1183. data/test/regression/xlsx_files/chart_axis05.xlsx +0 -0
  1184. data/test/regression/xlsx_files/chart_axis06.xlsx +0 -0
  1185. data/test/regression/xlsx_files/chart_axis07.xlsx +0 -0
  1186. data/test/regression/xlsx_files/chart_axis08.xlsx +0 -0
  1187. data/test/regression/xlsx_files/chart_axis09.xlsx +0 -0
  1188. data/test/regression/xlsx_files/chart_axis10.xlsx +0 -0
  1189. data/test/regression/xlsx_files/chart_axis11.xlsx +0 -0
  1190. data/test/regression/xlsx_files/chart_axis12.xlsx +0 -0
  1191. data/test/regression/xlsx_files/chart_axis13.xlsx +0 -0
  1192. data/test/regression/xlsx_files/chart_axis14.xlsx +0 -0
  1193. data/test/regression/xlsx_files/chart_axis15.xlsx +0 -0
  1194. data/test/regression/xlsx_files/chart_axis16.xlsx +0 -0
  1195. data/test/regression/xlsx_files/chart_axis17.xlsx +0 -0
  1196. data/test/regression/xlsx_files/chart_axis18.xlsx +0 -0
  1197. data/test/regression/xlsx_files/chart_axis19.xlsx +0 -0
  1198. data/test/regression/xlsx_files/chart_axis20.xlsx +0 -0
  1199. data/test/regression/xlsx_files/chart_axis21.xlsx +0 -0
  1200. data/test/regression/xlsx_files/chart_axis22.xlsx +0 -0
  1201. data/test/regression/xlsx_files/chart_axis23.xlsx +0 -0
  1202. data/test/regression/xlsx_files/chart_axis24.xlsx +0 -0
  1203. data/test/regression/xlsx_files/chart_axis25.xlsx +0 -0
  1204. data/test/regression/xlsx_files/chart_axis26.xlsx +0 -0
  1205. data/test/regression/xlsx_files/chart_axis27.xlsx +0 -0
  1206. data/test/regression/xlsx_files/chart_axis28.xlsx +0 -0
  1207. data/test/regression/xlsx_files/chart_axis29.xlsx +0 -0
  1208. data/test/regression/xlsx_files/chart_axis30.xlsx +0 -0
  1209. data/test/regression/xlsx_files/chart_axis31.xlsx +0 -0
  1210. data/test/regression/xlsx_files/chart_axis32.xlsx +0 -0
  1211. data/test/regression/xlsx_files/chart_axis33.xlsx +0 -0
  1212. data/test/regression/xlsx_files/chart_axis34.xlsx +0 -0
  1213. data/test/regression/xlsx_files/chart_axis35.xlsx +0 -0
  1214. data/test/regression/xlsx_files/chart_axis36.xlsx +0 -0
  1215. data/test/regression/xlsx_files/chart_axis37.xlsx +0 -0
  1216. data/test/regression/xlsx_files/chart_axis38.xlsx +0 -0
  1217. data/test/regression/xlsx_files/chart_axis39.xlsx +0 -0
  1218. data/test/regression/xlsx_files/chart_axis40.xlsx +0 -0
  1219. data/test/regression/xlsx_files/chart_axis41.xlsx +0 -0
  1220. data/test/regression/xlsx_files/chart_axis42.xlsx +0 -0
  1221. data/test/regression/xlsx_files/chart_axis43.xlsx +0 -0
  1222. data/test/regression/xlsx_files/chart_axis44.xlsx +0 -0
  1223. data/test/regression/xlsx_files/chart_axis45.xlsx +0 -0
  1224. data/test/regression/xlsx_files/chart_axis46.xlsx +0 -0
  1225. data/test/regression/xlsx_files/chart_axis47.xlsx +0 -0
  1226. data/test/regression/xlsx_files/chart_axis48.xlsx +0 -0
  1227. data/test/regression/xlsx_files/chart_bar01.xlsx +0 -0
  1228. data/test/regression/xlsx_files/chart_bar02.xlsx +0 -0
  1229. data/test/regression/xlsx_files/chart_bar03.xlsx +0 -0
  1230. data/test/regression/xlsx_files/chart_bar04.xlsx +0 -0
  1231. data/test/regression/xlsx_files/chart_bar05.xlsx +0 -0
  1232. data/test/regression/xlsx_files/chart_bar06.xlsx +0 -0
  1233. data/test/regression/xlsx_files/chart_bar07.xlsx +0 -0
  1234. data/test/regression/xlsx_files/chart_bar08.xlsx +0 -0
  1235. data/test/regression/xlsx_files/chart_bar09.xlsx +0 -0
  1236. data/test/regression/xlsx_files/chart_bar10.xlsx +0 -0
  1237. data/test/regression/xlsx_files/chart_bar11.xlsx +0 -0
  1238. data/test/regression/xlsx_files/chart_bar12.xlsx +0 -0
  1239. data/test/regression/xlsx_files/chart_bar13.xlsx +0 -0
  1240. data/test/regression/xlsx_files/chart_bar14.xlsx +0 -0
  1241. data/test/regression/xlsx_files/chart_bar15.xlsx +0 -0
  1242. data/test/regression/xlsx_files/chart_bar16.xlsx +0 -0
  1243. data/test/regression/xlsx_files/chart_bar17.xlsx +0 -0
  1244. data/test/regression/xlsx_files/chart_bar18.xlsx +0 -0
  1245. data/test/regression/xlsx_files/chart_bar19.xlsx +0 -0
  1246. data/test/regression/xlsx_files/chart_bar20.xlsx +0 -0
  1247. data/test/regression/xlsx_files/chart_bar21.xlsx +0 -0
  1248. data/test/regression/xlsx_files/chart_bar22.xlsx +0 -0
  1249. data/test/regression/xlsx_files/chart_bar23.xlsx +0 -0
  1250. data/test/regression/xlsx_files/chart_bar24.xlsx +0 -0
  1251. data/test/regression/xlsx_files/chart_blank01.xlsx +0 -0
  1252. data/test/regression/xlsx_files/chart_blank02.xlsx +0 -0
  1253. data/test/regression/xlsx_files/chart_blank03.xlsx +0 -0
  1254. data/test/regression/xlsx_files/chart_blank04.xlsx +0 -0
  1255. data/test/regression/xlsx_files/chart_blank05.xlsx +0 -0
  1256. data/test/regression/xlsx_files/chart_blank06.xlsx +0 -0
  1257. data/test/regression/xlsx_files/chart_chartarea01.xlsx +0 -0
  1258. data/test/regression/xlsx_files/chart_chartarea03.xlsx +0 -0
  1259. data/test/regression/xlsx_files/chart_chartarea04.xlsx +0 -0
  1260. data/test/regression/xlsx_files/chart_chartarea05.xlsx +0 -0
  1261. data/test/regression/xlsx_files/chart_chartarea06.xlsx +0 -0
  1262. data/test/regression/xlsx_files/chart_clustered01.xlsx +0 -0
  1263. data/test/regression/xlsx_files/chart_column01.xlsx +0 -0
  1264. data/test/regression/xlsx_files/chart_column02.xlsx +0 -0
  1265. data/test/regression/xlsx_files/chart_column03.xlsx +0 -0
  1266. data/test/regression/xlsx_files/chart_column04.xlsx +0 -0
  1267. data/test/regression/xlsx_files/chart_column05.xlsx +0 -0
  1268. data/test/regression/xlsx_files/chart_column06.xlsx +0 -0
  1269. data/test/regression/xlsx_files/chart_column07.xlsx +0 -0
  1270. data/test/regression/xlsx_files/chart_column08.xlsx +0 -0
  1271. data/test/regression/xlsx_files/chart_column09.xlsx +0 -0
  1272. data/test/regression/xlsx_files/chart_column10.xlsx +0 -0
  1273. data/test/regression/xlsx_files/chart_column11.xlsx +0 -0
  1274. data/test/regression/xlsx_files/chart_column12.xlsx +0 -0
  1275. data/test/regression/xlsx_files/chart_combined01.xlsx +0 -0
  1276. data/test/regression/xlsx_files/chart_combined02.xlsx +0 -0
  1277. data/test/regression/xlsx_files/chart_combined03.xlsx +0 -0
  1278. data/test/regression/xlsx_files/chart_combined04.xlsx +0 -0
  1279. data/test/regression/xlsx_files/chart_combined05.xlsx +0 -0
  1280. data/test/regression/xlsx_files/chart_combined06.xlsx +0 -0
  1281. data/test/regression/xlsx_files/chart_combined07.xlsx +0 -0
  1282. data/test/regression/xlsx_files/chart_combined08.xlsx +0 -0
  1283. data/test/regression/xlsx_files/chart_combined09.xlsx +0 -0
  1284. data/test/regression/xlsx_files/chart_combined10.xlsx +0 -0
  1285. data/test/regression/xlsx_files/chart_combined11.xlsx +0 -0
  1286. data/test/regression/xlsx_files/chart_crossing01.xlsx +0 -0
  1287. data/test/regression/xlsx_files/chart_crossing02.xlsx +0 -0
  1288. data/test/regression/xlsx_files/chart_crossing03.xlsx +0 -0
  1289. data/test/regression/xlsx_files/chart_crossing04.xlsx +0 -0
  1290. data/test/regression/xlsx_files/chart_crossing05.xlsx +0 -0
  1291. data/test/regression/xlsx_files/chart_crossing06.xlsx +0 -0
  1292. data/test/regression/xlsx_files/chart_data_labels01.xlsx +0 -0
  1293. data/test/regression/xlsx_files/chart_data_labels02.xlsx +0 -0
  1294. data/test/regression/xlsx_files/chart_data_labels03.xlsx +0 -0
  1295. data/test/regression/xlsx_files/chart_data_labels04.xlsx +0 -0
  1296. data/test/regression/xlsx_files/chart_data_labels05.xlsx +0 -0
  1297. data/test/regression/xlsx_files/chart_data_labels06.xlsx +0 -0
  1298. data/test/regression/xlsx_files/chart_data_labels07.xlsx +0 -0
  1299. data/test/regression/xlsx_files/chart_data_labels08.xlsx +0 -0
  1300. data/test/regression/xlsx_files/chart_data_labels09.xlsx +0 -0
  1301. data/test/regression/xlsx_files/chart_data_labels10.xlsx +0 -0
  1302. data/test/regression/xlsx_files/chart_data_labels11.xlsx +0 -0
  1303. data/test/regression/xlsx_files/chart_data_labels12.xlsx +0 -0
  1304. data/test/regression/xlsx_files/chart_data_labels13.xlsx +0 -0
  1305. data/test/regression/xlsx_files/chart_data_labels14.xlsx +0 -0
  1306. data/test/regression/xlsx_files/chart_data_labels15.xlsx +0 -0
  1307. data/test/regression/xlsx_files/chart_data_labels16.xlsx +0 -0
  1308. data/test/regression/xlsx_files/chart_data_labels17.xlsx +0 -0
  1309. data/test/regression/xlsx_files/chart_data_labels18.xlsx +0 -0
  1310. data/test/regression/xlsx_files/chart_data_labels19.xlsx +0 -0
  1311. data/test/regression/xlsx_files/chart_data_labels20.xlsx +0 -0
  1312. data/test/regression/xlsx_files/chart_data_labels21.xlsx +0 -0
  1313. data/test/regression/xlsx_files/chart_data_labels22.xlsx +0 -0
  1314. data/test/regression/xlsx_files/chart_data_labels23.xlsx +0 -0
  1315. data/test/regression/xlsx_files/chart_data_labels24.xlsx +0 -0
  1316. data/test/regression/xlsx_files/chart_data_labels25.xlsx +0 -0
  1317. data/test/regression/xlsx_files/chart_data_labels26.xlsx +0 -0
  1318. data/test/regression/xlsx_files/chart_data_labels27.xlsx +0 -0
  1319. data/test/regression/xlsx_files/chart_data_labels28.xlsx +0 -0
  1320. data/test/regression/xlsx_files/chart_data_labels29.xlsx +0 -0
  1321. data/test/regression/xlsx_files/chart_data_labels30.xlsx +0 -0
  1322. data/test/regression/xlsx_files/chart_data_labels31.xlsx +0 -0
  1323. data/test/regression/xlsx_files/chart_data_labels32.xlsx +0 -0
  1324. data/test/regression/xlsx_files/chart_data_labels33.xlsx +0 -0
  1325. data/test/regression/xlsx_files/chart_data_labels34.xlsx +0 -0
  1326. data/test/regression/xlsx_files/chart_data_labels35.xlsx +0 -0
  1327. data/test/regression/xlsx_files/chart_data_labels36.xlsx +0 -0
  1328. data/test/regression/xlsx_files/chart_data_labels37.xlsx +0 -0
  1329. data/test/regression/xlsx_files/chart_data_labels38.xlsx +0 -0
  1330. data/test/regression/xlsx_files/chart_data_labels39.xlsx +0 -0
  1331. data/test/regression/xlsx_files/chart_data_labels40.xlsx +0 -0
  1332. data/test/regression/xlsx_files/chart_data_labels41.xlsx +0 -0
  1333. data/test/regression/xlsx_files/chart_data_labels42.xlsx +0 -0
  1334. data/test/regression/xlsx_files/chart_data_labels43.xlsx +0 -0
  1335. data/test/regression/xlsx_files/chart_data_labels44.xlsx +0 -0
  1336. data/test/regression/xlsx_files/chart_data_labels45.xlsx +0 -0
  1337. data/test/regression/xlsx_files/chart_data_labels46.xlsx +0 -0
  1338. data/test/regression/xlsx_files/chart_data_labels47.xlsx +0 -0
  1339. data/test/regression/xlsx_files/chart_data_labels48.xlsx +0 -0
  1340. data/test/regression/xlsx_files/chart_data_labels49.xlsx +0 -0
  1341. data/test/regression/xlsx_files/chart_data_labels50.xlsx +0 -0
  1342. data/test/regression/xlsx_files/chart_date01.xlsx +0 -0
  1343. data/test/regression/xlsx_files/chart_date02.xlsx +0 -0
  1344. data/test/regression/xlsx_files/chart_date03.xlsx +0 -0
  1345. data/test/regression/xlsx_files/chart_date04.xlsx +0 -0
  1346. data/test/regression/xlsx_files/chart_date05.xlsx +0 -0
  1347. data/test/regression/xlsx_files/chart_display_units01.xlsx +0 -0
  1348. data/test/regression/xlsx_files/chart_display_units02.xlsx +0 -0
  1349. data/test/regression/xlsx_files/chart_display_units03.xlsx +0 -0
  1350. data/test/regression/xlsx_files/chart_display_units04.xlsx +0 -0
  1351. data/test/regression/xlsx_files/chart_display_units05.xlsx +0 -0
  1352. data/test/regression/xlsx_files/chart_display_units06.xlsx +0 -0
  1353. data/test/regression/xlsx_files/chart_display_units07.xlsx +0 -0
  1354. data/test/regression/xlsx_files/chart_display_units08.xlsx +0 -0
  1355. data/test/regression/xlsx_files/chart_display_units09.xlsx +0 -0
  1356. data/test/regression/xlsx_files/chart_display_units10.xlsx +0 -0
  1357. data/test/regression/xlsx_files/chart_display_units11.xlsx +0 -0
  1358. data/test/regression/xlsx_files/chart_display_units12.xlsx +0 -0
  1359. data/test/regression/xlsx_files/chart_doughnut01.xlsx +0 -0
  1360. data/test/regression/xlsx_files/chart_doughnut02.xlsx +0 -0
  1361. data/test/regression/xlsx_files/chart_doughnut03.xlsx +0 -0
  1362. data/test/regression/xlsx_files/chart_doughnut04.xlsx +0 -0
  1363. data/test/regression/xlsx_files/chart_doughnut05.xlsx +0 -0
  1364. data/test/regression/xlsx_files/chart_doughnut06.xlsx +0 -0
  1365. data/test/regression/xlsx_files/chart_doughnut07.xlsx +0 -0
  1366. data/test/regression/xlsx_files/chart_drop_lines01.xlsx +0 -0
  1367. data/test/regression/xlsx_files/chart_drop_lines02.xlsx +0 -0
  1368. data/test/regression/xlsx_files/chart_drop_lines03.xlsx +0 -0
  1369. data/test/regression/xlsx_files/chart_drop_lines04.xlsx +0 -0
  1370. data/test/regression/xlsx_files/chart_errorbars01.xlsx +0 -0
  1371. data/test/regression/xlsx_files/chart_errorbars02.xlsx +0 -0
  1372. data/test/regression/xlsx_files/chart_errorbars03.xlsx +0 -0
  1373. data/test/regression/xlsx_files/chart_errorbars04.xlsx +0 -0
  1374. data/test/regression/xlsx_files/chart_errorbars05.xlsx +0 -0
  1375. data/test/regression/xlsx_files/chart_errorbars06.xlsx +0 -0
  1376. data/test/regression/xlsx_files/chart_errorbars07.xlsx +0 -0
  1377. data/test/regression/xlsx_files/chart_errorbars08.xlsx +0 -0
  1378. data/test/regression/xlsx_files/chart_errorbars09.xlsx +0 -0
  1379. data/test/regression/xlsx_files/chart_errorbars10.xlsx +0 -0
  1380. data/test/regression/xlsx_files/chart_font01.xlsx +0 -0
  1381. data/test/regression/xlsx_files/chart_font02.xlsx +0 -0
  1382. data/test/regression/xlsx_files/chart_font03.xlsx +0 -0
  1383. data/test/regression/xlsx_files/chart_font04.xlsx +0 -0
  1384. data/test/regression/xlsx_files/chart_font05.xlsx +0 -0
  1385. data/test/regression/xlsx_files/chart_font06.xlsx +0 -0
  1386. data/test/regression/xlsx_files/chart_font07.xlsx +0 -0
  1387. data/test/regression/xlsx_files/chart_font08.xlsx +0 -0
  1388. data/test/regression/xlsx_files/chart_font09.xlsx +0 -0
  1389. data/test/regression/xlsx_files/chart_format01.xlsx +0 -0
  1390. data/test/regression/xlsx_files/chart_format02.xlsx +0 -0
  1391. data/test/regression/xlsx_files/chart_format03.xlsx +0 -0
  1392. data/test/regression/xlsx_files/chart_format04.xlsx +0 -0
  1393. data/test/regression/xlsx_files/chart_format05.xlsx +0 -0
  1394. data/test/regression/xlsx_files/chart_format06.xlsx +0 -0
  1395. data/test/regression/xlsx_files/chart_format07.xlsx +0 -0
  1396. data/test/regression/xlsx_files/chart_format08.xlsx +0 -0
  1397. data/test/regression/xlsx_files/chart_format09.xlsx +0 -0
  1398. data/test/regression/xlsx_files/chart_format10.xlsx +0 -0
  1399. data/test/regression/xlsx_files/chart_format11.xlsx +0 -0
  1400. data/test/regression/xlsx_files/chart_format12.xlsx +0 -0
  1401. data/test/regression/xlsx_files/chart_format13.xlsx +0 -0
  1402. data/test/regression/xlsx_files/chart_format14.xlsx +0 -0
  1403. data/test/regression/xlsx_files/chart_format15.xlsx +0 -0
  1404. data/test/regression/xlsx_files/chart_format16.xlsx +0 -0
  1405. data/test/regression/xlsx_files/chart_format17.xlsx +0 -0
  1406. data/test/regression/xlsx_files/chart_format18.xlsx +0 -0
  1407. data/test/regression/xlsx_files/chart_format19.xlsx +0 -0
  1408. data/test/regression/xlsx_files/chart_format20.xlsx +0 -0
  1409. data/test/regression/xlsx_files/chart_format21.xlsx +0 -0
  1410. data/test/regression/xlsx_files/chart_format22.xlsx +0 -0
  1411. data/test/regression/xlsx_files/chart_format23.xlsx +0 -0
  1412. data/test/regression/xlsx_files/chart_format24.xlsx +0 -0
  1413. data/test/regression/xlsx_files/chart_format25.xlsx +0 -0
  1414. data/test/regression/xlsx_files/chart_format26.xlsx +0 -0
  1415. data/test/regression/xlsx_files/chart_format27.xlsx +0 -0
  1416. data/test/regression/xlsx_files/chart_format28.xlsx +0 -0
  1417. data/test/regression/xlsx_files/chart_format29.xlsx +0 -0
  1418. data/test/regression/xlsx_files/chart_format30.xlsx +0 -0
  1419. data/test/regression/xlsx_files/chart_format31.xlsx +0 -0
  1420. data/test/regression/xlsx_files/chart_gap01.xlsx +0 -0
  1421. data/test/regression/xlsx_files/chart_gap02.xlsx +0 -0
  1422. data/test/regression/xlsx_files/chart_gap03.xlsx +0 -0
  1423. data/test/regression/xlsx_files/chart_gap04.xlsx +0 -0
  1424. data/test/regression/xlsx_files/chart_gap05.xlsx +0 -0
  1425. data/test/regression/xlsx_files/chart_gradient01.xlsx +0 -0
  1426. data/test/regression/xlsx_files/chart_gradient02.xlsx +0 -0
  1427. data/test/regression/xlsx_files/chart_gradient03.xlsx +0 -0
  1428. data/test/regression/xlsx_files/chart_gradient04.xlsx +0 -0
  1429. data/test/regression/xlsx_files/chart_gradient05.xlsx +0 -0
  1430. data/test/regression/xlsx_files/chart_gradient06.xlsx +0 -0
  1431. data/test/regression/xlsx_files/chart_gradient07.xlsx +0 -0
  1432. data/test/regression/xlsx_files/chart_gradient08.xlsx +0 -0
  1433. data/test/regression/xlsx_files/chart_gradient09.xlsx +0 -0
  1434. data/test/regression/xlsx_files/chart_gradient10.xlsx +0 -0
  1435. data/test/regression/xlsx_files/chart_gradient11.xlsx +0 -0
  1436. data/test/regression/xlsx_files/chart_gradient12.xlsx +0 -0
  1437. data/test/regression/xlsx_files/chart_gradient13.xlsx +0 -0
  1438. data/test/regression/xlsx_files/chart_gridlines01.xlsx +0 -0
  1439. data/test/regression/xlsx_files/chart_gridlines02.xlsx +0 -0
  1440. data/test/regression/xlsx_files/chart_gridlines03.xlsx +0 -0
  1441. data/test/regression/xlsx_files/chart_gridlines04.xlsx +0 -0
  1442. data/test/regression/xlsx_files/chart_gridlines05.xlsx +0 -0
  1443. data/test/regression/xlsx_files/chart_gridlines06.xlsx +0 -0
  1444. data/test/regression/xlsx_files/chart_gridlines07.xlsx +0 -0
  1445. data/test/regression/xlsx_files/chart_gridlines08.xlsx +0 -0
  1446. data/test/regression/xlsx_files/chart_gridlines09.xlsx +0 -0
  1447. data/test/regression/xlsx_files/chart_layout01.xlsx +0 -0
  1448. data/test/regression/xlsx_files/chart_layout02.xlsx +0 -0
  1449. data/test/regression/xlsx_files/chart_layout03.xlsx +0 -0
  1450. data/test/regression/xlsx_files/chart_layout04.xlsx +0 -0
  1451. data/test/regression/xlsx_files/chart_layout05.xlsx +0 -0
  1452. data/test/regression/xlsx_files/chart_layout06.xlsx +0 -0
  1453. data/test/regression/xlsx_files/chart_layout07.xlsx +0 -0
  1454. data/test/regression/xlsx_files/chart_layout08.xlsx +0 -0
  1455. data/test/regression/xlsx_files/chart_legend01.xlsx +0 -0
  1456. data/test/regression/xlsx_files/chart_legend03.xlsx +0 -0
  1457. data/test/regression/xlsx_files/chart_legend04.xlsx +0 -0
  1458. data/test/regression/xlsx_files/chart_legend05.xlsx +0 -0
  1459. data/test/regression/xlsx_files/chart_legend06.xlsx +0 -0
  1460. data/test/regression/xlsx_files/chart_legend07.xlsx +0 -0
  1461. data/test/regression/xlsx_files/chart_line01.xlsx +0 -0
  1462. data/test/regression/xlsx_files/chart_line02.xlsx +0 -0
  1463. data/test/regression/xlsx_files/chart_line03.xlsx +0 -0
  1464. data/test/regression/xlsx_files/chart_line04.xlsx +0 -0
  1465. data/test/regression/xlsx_files/chart_line05.xlsx +0 -0
  1466. data/test/regression/xlsx_files/chart_line06.xlsx +0 -0
  1467. data/test/regression/xlsx_files/chart_name01.xlsx +0 -0
  1468. data/test/regression/xlsx_files/chart_name02.xlsx +0 -0
  1469. data/test/regression/xlsx_files/chart_name03.xlsx +0 -0
  1470. data/test/regression/xlsx_files/chart_order01.xlsx +0 -0
  1471. data/test/regression/xlsx_files/chart_order03.xlsx +0 -0
  1472. data/test/regression/xlsx_files/chart_pattern01.xlsx +0 -0
  1473. data/test/regression/xlsx_files/chart_pattern02.xlsx +0 -0
  1474. data/test/regression/xlsx_files/chart_pattern03.xlsx +0 -0
  1475. data/test/regression/xlsx_files/chart_pattern04.xlsx +0 -0
  1476. data/test/regression/xlsx_files/chart_pattern05.xlsx +0 -0
  1477. data/test/regression/xlsx_files/chart_pattern06.xlsx +0 -0
  1478. data/test/regression/xlsx_files/chart_pattern07.xlsx +0 -0
  1479. data/test/regression/xlsx_files/chart_pattern08.xlsx +0 -0
  1480. data/test/regression/xlsx_files/chart_pattern09.xlsx +0 -0
  1481. data/test/regression/xlsx_files/chart_pattern10.xlsx +0 -0
  1482. data/test/regression/xlsx_files/chart_pie01.xlsx +0 -0
  1483. data/test/regression/xlsx_files/chart_pie02.xlsx +0 -0
  1484. data/test/regression/xlsx_files/chart_pie03.xlsx +0 -0
  1485. data/test/regression/xlsx_files/chart_pie04.xlsx +0 -0
  1486. data/test/regression/xlsx_files/chart_pie05.xlsx +0 -0
  1487. data/test/regression/xlsx_files/chart_points01.xlsx +0 -0
  1488. data/test/regression/xlsx_files/chart_points02.xlsx +0 -0
  1489. data/test/regression/xlsx_files/chart_points03.xlsx +0 -0
  1490. data/test/regression/xlsx_files/chart_points04.xlsx +0 -0
  1491. data/test/regression/xlsx_files/chart_points05.xlsx +0 -0
  1492. data/test/regression/xlsx_files/chart_points06.xlsx +0 -0
  1493. data/test/regression/xlsx_files/chart_radar01.xlsx +0 -0
  1494. data/test/regression/xlsx_files/chart_radar02.xlsx +0 -0
  1495. data/test/regression/xlsx_files/chart_radar03.xlsx +0 -0
  1496. data/test/regression/xlsx_files/chart_scatter01.xlsx +0 -0
  1497. data/test/regression/xlsx_files/chart_scatter02.xlsx +0 -0
  1498. data/test/regression/xlsx_files/chart_scatter03.xlsx +0 -0
  1499. data/test/regression/xlsx_files/chart_scatter04.xlsx +0 -0
  1500. data/test/regression/xlsx_files/chart_scatter05.xlsx +0 -0
  1501. data/test/regression/xlsx_files/chart_scatter06.xlsx +0 -0
  1502. data/test/regression/xlsx_files/chart_scatter07.xlsx +0 -0
  1503. data/test/regression/xlsx_files/chart_scatter08.xlsx +0 -0
  1504. data/test/regression/xlsx_files/chart_scatter09.xlsx +0 -0
  1505. data/test/regression/xlsx_files/chart_scatter10.xlsx +0 -0
  1506. data/test/regression/xlsx_files/chart_scatter11.xlsx +0 -0
  1507. data/test/regression/xlsx_files/chart_scatter12.xlsx +0 -0
  1508. data/test/regression/xlsx_files/chart_scatter14.xlsx +0 -0
  1509. data/test/regression/xlsx_files/chart_scatter15.xlsx +0 -0
  1510. data/test/regression/xlsx_files/chart_size01.xlsx +0 -0
  1511. data/test/regression/xlsx_files/chart_size04.xlsx +0 -0
  1512. data/test/regression/xlsx_files/chart_sparse01.xlsx +0 -0
  1513. data/test/regression/xlsx_files/chart_stock01.xlsx +0 -0
  1514. data/test/regression/xlsx_files/chart_stock02.xlsx +0 -0
  1515. data/test/regression/xlsx_files/chart_str01.xlsx +0 -0
  1516. data/test/regression/xlsx_files/chart_str02.xlsx +0 -0
  1517. data/test/regression/xlsx_files/chart_table01.xlsx +0 -0
  1518. data/test/regression/xlsx_files/chart_table02.xlsx +0 -0
  1519. data/test/regression/xlsx_files/chart_table03.xlsx +0 -0
  1520. data/test/regression/xlsx_files/chart_title01.xlsx +0 -0
  1521. data/test/regression/xlsx_files/chart_title02.xlsx +0 -0
  1522. data/test/regression/xlsx_files/chartsheet01.xlsx +0 -0
  1523. data/test/regression/xlsx_files/chartsheet02.xlsx +0 -0
  1524. data/test/regression/xlsx_files/chartsheet03.xlsx +0 -0
  1525. data/test/regression/xlsx_files/chartsheet04.xlsx +0 -0
  1526. data/test/regression/xlsx_files/chartsheet05.xlsx +0 -0
  1527. data/test/regression/xlsx_files/chartsheet06.xlsx +0 -0
  1528. data/test/regression/xlsx_files/chartsheet07.xlsx +0 -0
  1529. data/test/regression/xlsx_files/chartsheet08.xlsx +0 -0
  1530. data/test/regression/xlsx_files/chartsheet09.xlsx +0 -0
  1531. data/test/regression/xlsx_files/comment01.xlsx +0 -0
  1532. data/test/regression/xlsx_files/comment02.xlsx +0 -0
  1533. data/test/regression/xlsx_files/comment03.xlsx +0 -0
  1534. data/test/regression/xlsx_files/comment04.xlsx +0 -0
  1535. data/test/regression/xlsx_files/comment05.xlsx +0 -0
  1536. data/test/regression/xlsx_files/comment06.xlsx +0 -0
  1537. data/test/regression/xlsx_files/comment07.xlsx +0 -0
  1538. data/test/regression/xlsx_files/comment08.xlsx +0 -0
  1539. data/test/regression/xlsx_files/comment09.xlsx +0 -0
  1540. data/test/regression/xlsx_files/comment10.xlsx +0 -0
  1541. data/test/regression/xlsx_files/comment11.xlsx +0 -0
  1542. data/test/regression/xlsx_files/comment12.xlsx +0 -0
  1543. data/test/regression/xlsx_files/comment13.xlsx +0 -0
  1544. data/test/regression/xlsx_files/comment14.xlsx +0 -0
  1545. data/test/regression/xlsx_files/comment15.xlsx +0 -0
  1546. data/test/regression/xlsx_files/comment16.xlsx +0 -0
  1547. data/test/regression/xlsx_files/cond_format01.xlsx +0 -0
  1548. data/test/regression/xlsx_files/cond_format02.xlsx +0 -0
  1549. data/test/regression/xlsx_files/cond_format03.xlsx +0 -0
  1550. data/test/regression/xlsx_files/cond_format04.xlsx +0 -0
  1551. data/test/regression/xlsx_files/cond_format05.xlsx +0 -0
  1552. data/test/regression/xlsx_files/cond_format06.xlsx +0 -0
  1553. data/test/regression/xlsx_files/cond_format07.xlsx +0 -0
  1554. data/test/regression/xlsx_files/cond_format08.xlsx +0 -0
  1555. data/test/regression/xlsx_files/cond_format10.xlsx +0 -0
  1556. data/test/regression/xlsx_files/cond_format11.xlsx +0 -0
  1557. data/test/regression/xlsx_files/cond_format12.xlsx +0 -0
  1558. data/test/regression/xlsx_files/cond_format14.xlsx +0 -0
  1559. data/test/regression/xlsx_files/cond_format15.xlsx +0 -0
  1560. data/test/regression/xlsx_files/cond_format16.xlsx +0 -0
  1561. data/test/regression/xlsx_files/cond_format17.xlsx +0 -0
  1562. data/test/regression/xlsx_files/cond_format18.xlsx +0 -0
  1563. data/test/regression/xlsx_files/cond_format19.xlsx +0 -0
  1564. data/test/regression/xlsx_files/cond_format20.xlsx +0 -0
  1565. data/test/regression/xlsx_files/custom_colors01.xlsx +0 -0
  1566. data/test/regression/xlsx_files/data_validation01.xlsx +0 -0
  1567. data/test/regression/xlsx_files/data_validation02.xlsx +0 -0
  1568. data/test/regression/xlsx_files/data_validation03.xlsx +0 -0
  1569. data/test/regression/xlsx_files/data_validation08.xlsx +0 -0
  1570. data/test/regression/xlsx_files/date_1904_01.xlsx +0 -0
  1571. data/test/regression/xlsx_files/date_1904_02.xlsx +0 -0
  1572. data/test/regression/xlsx_files/date_examples01.xlsx +0 -0
  1573. data/test/regression/xlsx_files/default_format01.xlsx +0 -0
  1574. data/test/regression/xlsx_files/default_row01.xlsx +0 -0
  1575. data/test/regression/xlsx_files/default_row02.xlsx +0 -0
  1576. data/test/regression/xlsx_files/default_row03.xlsx +0 -0
  1577. data/test/regression/xlsx_files/default_row04.xlsx +0 -0
  1578. data/test/regression/xlsx_files/default_row05.xlsx +0 -0
  1579. data/test/regression/xlsx_files/defined_name01.xlsx +0 -0
  1580. data/test/regression/xlsx_files/defined_name02.xlsx +0 -0
  1581. data/test/regression/xlsx_files/defined_name03.xlsx +0 -0
  1582. data/test/regression/xlsx_files/defined_name04.xlsx +0 -0
  1583. data/test/regression/xlsx_files/dynamic_array01.xlsx +0 -0
  1584. data/test/regression/xlsx_files/escapes01.xlsx +0 -0
  1585. data/test/regression/xlsx_files/escapes02.xlsx +0 -0
  1586. data/test/regression/xlsx_files/escapes03.xlsx +0 -0
  1587. data/test/regression/xlsx_files/escapes04.xlsx +0 -0
  1588. data/test/regression/xlsx_files/escapes05.xlsx +0 -0
  1589. data/test/regression/xlsx_files/escapes06.xlsx +0 -0
  1590. data/test/regression/xlsx_files/escapes07.xlsx +0 -0
  1591. data/test/regression/xlsx_files/escapes08.xlsx +0 -0
  1592. data/test/regression/xlsx_files/excel2003_style01.xlsx +0 -0
  1593. data/test/regression/xlsx_files/excel2003_style02.xlsx +0 -0
  1594. data/test/regression/xlsx_files/excel2003_style03.xlsx +0 -0
  1595. data/test/regression/xlsx_files/excel2003_style04.xlsx +0 -0
  1596. data/test/regression/xlsx_files/excel2003_style05.xlsx +0 -0
  1597. data/test/regression/xlsx_files/excel2003_style06.xlsx +0 -0
  1598. data/test/regression/xlsx_files/excel2003_style07.xlsx +0 -0
  1599. data/test/regression/xlsx_files/excel2003_style08.xlsx +0 -0
  1600. data/test/regression/xlsx_files/filehandle01.xlsx +0 -0
  1601. data/test/regression/xlsx_files/firstsheet01.xlsx +0 -0
  1602. data/test/regression/xlsx_files/fit_to_pages01.xlsx +0 -0
  1603. data/test/regression/xlsx_files/fit_to_pages02.xlsx +0 -0
  1604. data/test/regression/xlsx_files/fit_to_pages03.xlsx +0 -0
  1605. data/test/regression/xlsx_files/fit_to_pages04.xlsx +0 -0
  1606. data/test/regression/xlsx_files/fit_to_pages05.xlsx +0 -0
  1607. data/test/regression/xlsx_files/format01.xlsx +0 -0
  1608. data/test/regression/xlsx_files/format02.xlsx +0 -0
  1609. data/test/regression/xlsx_files/format03.xlsx +0 -0
  1610. data/test/regression/xlsx_files/format04.xlsx +0 -0
  1611. data/test/regression/xlsx_files/format05.xlsx +0 -0
  1612. data/test/regression/xlsx_files/format11.xlsx +0 -0
  1613. data/test/regression/xlsx_files/format12.xlsx +0 -0
  1614. data/test/regression/xlsx_files/format13.xlsx +0 -0
  1615. data/test/regression/xlsx_files/format14.xlsx +0 -0
  1616. data/test/regression/xlsx_files/format15.xlsx +0 -0
  1617. data/test/regression/xlsx_files/format16.xlsx +0 -0
  1618. data/test/regression/xlsx_files/format17.xlsx +0 -0
  1619. data/test/regression/xlsx_files/formula_results01.xlsx +0 -0
  1620. data/test/regression/xlsx_files/gridlines01.xlsx +0 -0
  1621. data/test/regression/xlsx_files/header01.xlsx +0 -0
  1622. data/test/regression/xlsx_files/header02.xlsx +0 -0
  1623. data/test/regression/xlsx_files/header03.xlsx +0 -0
  1624. data/test/regression/xlsx_files/header04.xlsx +0 -0
  1625. data/test/regression/xlsx_files/header_image01.xlsx +0 -0
  1626. data/test/regression/xlsx_files/header_image02.xlsx +0 -0
  1627. data/test/regression/xlsx_files/header_image03.xlsx +0 -0
  1628. data/test/regression/xlsx_files/header_image04.xlsx +0 -0
  1629. data/test/regression/xlsx_files/header_image05.xlsx +0 -0
  1630. data/test/regression/xlsx_files/header_image06.xlsx +0 -0
  1631. data/test/regression/xlsx_files/header_image07.xlsx +0 -0
  1632. data/test/regression/xlsx_files/header_image08.xlsx +0 -0
  1633. data/test/regression/xlsx_files/header_image09.xlsx +0 -0
  1634. data/test/regression/xlsx_files/header_image10.xlsx +0 -0
  1635. data/test/regression/xlsx_files/header_image11.xlsx +0 -0
  1636. data/test/regression/xlsx_files/header_image12.xlsx +0 -0
  1637. data/test/regression/xlsx_files/header_image13.xlsx +0 -0
  1638. data/test/regression/xlsx_files/header_image14.xlsx +0 -0
  1639. data/test/regression/xlsx_files/header_image15.xlsx +0 -0
  1640. data/test/regression/xlsx_files/header_image16.xlsx +0 -0
  1641. data/test/regression/xlsx_files/header_image17.xlsx +0 -0
  1642. data/test/regression/xlsx_files/header_image18.xlsx +0 -0
  1643. data/test/regression/xlsx_files/header_image19.xlsx +0 -0
  1644. data/test/regression/xlsx_files/hide01.xlsx +0 -0
  1645. data/test/regression/xlsx_files/hyperlink01.xlsx +0 -0
  1646. data/test/regression/xlsx_files/hyperlink02.xlsx +0 -0
  1647. data/test/regression/xlsx_files/hyperlink03.xlsx +0 -0
  1648. data/test/regression/xlsx_files/hyperlink04.xlsx +0 -0
  1649. data/test/regression/xlsx_files/hyperlink05.xlsx +0 -0
  1650. data/test/regression/xlsx_files/hyperlink06.xlsx +0 -0
  1651. data/test/regression/xlsx_files/hyperlink07.xlsx +0 -0
  1652. data/test/regression/xlsx_files/hyperlink08.xlsx +0 -0
  1653. data/test/regression/xlsx_files/hyperlink09.xlsx +0 -0
  1654. data/test/regression/xlsx_files/hyperlink10.xlsx +0 -0
  1655. data/test/regression/xlsx_files/hyperlink11.xlsx +0 -0
  1656. data/test/regression/xlsx_files/hyperlink12.xlsx +0 -0
  1657. data/test/regression/xlsx_files/hyperlink13.xlsx +0 -0
  1658. data/test/regression/xlsx_files/hyperlink14.xlsx +0 -0
  1659. data/test/regression/xlsx_files/hyperlink15.xlsx +0 -0
  1660. data/test/regression/xlsx_files/hyperlink16.xlsx +0 -0
  1661. data/test/regression/xlsx_files/hyperlink17.xlsx +0 -0
  1662. data/test/regression/xlsx_files/hyperlink18.xlsx +0 -0
  1663. data/test/regression/xlsx_files/hyperlink20.xlsx +0 -0
  1664. data/test/regression/xlsx_files/hyperlink21.xlsx +0 -0
  1665. data/test/regression/xlsx_files/hyperlink22.xlsx +0 -0
  1666. data/test/regression/xlsx_files/hyperlink23.xlsx +0 -0
  1667. data/test/regression/xlsx_files/hyperlink24.xlsx +0 -0
  1668. data/test/regression/xlsx_files/hyperlink25.xlsx +0 -0
  1669. data/test/regression/xlsx_files/hyperlink26.xlsx +0 -0
  1670. data/test/regression/xlsx_files/hyperlink27.xlsx +0 -0
  1671. data/test/regression/xlsx_files/hyperlink28.xlsx +0 -0
  1672. data/test/regression/xlsx_files/hyperlink29.xlsx +0 -0
  1673. data/test/regression/xlsx_files/hyperlink30.xlsx +0 -0
  1674. data/test/regression/xlsx_files/hyperlink31.xlsx +0 -0
  1675. data/test/regression/xlsx_files/hyperlink32.xlsx +0 -0
  1676. data/test/regression/xlsx_files/hyperlink33.xlsx +0 -0
  1677. data/test/regression/xlsx_files/hyperlink34.xlsx +0 -0
  1678. data/test/regression/xlsx_files/hyperlink35.xlsx +0 -0
  1679. data/test/regression/xlsx_files/hyperlink36.xlsx +0 -0
  1680. data/test/regression/xlsx_files/hyperlink37.xlsx +0 -0
  1681. data/test/regression/xlsx_files/hyperlink38.xlsx +0 -0
  1682. data/test/regression/xlsx_files/hyperlink39.xlsx +0 -0
  1683. data/test/regression/xlsx_files/hyperlink40.xlsx +0 -0
  1684. data/test/regression/xlsx_files/hyperlink41.xlsx +0 -0
  1685. data/test/regression/xlsx_files/hyperlink42.xlsx +0 -0
  1686. data/test/regression/xlsx_files/hyperlink43.xlsx +0 -0
  1687. data/test/regression/xlsx_files/hyperlink44.xlsx +0 -0
  1688. data/test/regression/xlsx_files/hyperlink45.xlsx +0 -0
  1689. data/test/regression/xlsx_files/hyperlink46.xlsx +0 -0
  1690. data/test/regression/xlsx_files/hyperlink47.xlsx +0 -0
  1691. data/test/regression/xlsx_files/hyperlink48.xlsx +0 -0
  1692. data/test/regression/xlsx_files/hyperlink49.xlsx +0 -0
  1693. data/test/regression/xlsx_files/hyperlink50.xlsx +0 -0
  1694. data/test/regression/xlsx_files/hyperlink51.xlsx +0 -0
  1695. data/test/regression/xlsx_files/ignore_error01.xlsx +0 -0
  1696. data/test/regression/xlsx_files/ignore_error02.xlsx +0 -0
  1697. data/test/regression/xlsx_files/ignore_error03.xlsx +0 -0
  1698. data/test/regression/xlsx_files/ignore_error04.xlsx +0 -0
  1699. data/test/regression/xlsx_files/ignore_error05.xlsx +0 -0
  1700. data/test/regression/xlsx_files/ignore_error06.xlsx +0 -0
  1701. data/test/regression/xlsx_files/image01.xlsx +0 -0
  1702. data/test/regression/xlsx_files/image02.xlsx +0 -0
  1703. data/test/regression/xlsx_files/image03.xlsx +0 -0
  1704. data/test/regression/xlsx_files/image04.xlsx +0 -0
  1705. data/test/regression/xlsx_files/image05.xlsx +0 -0
  1706. data/test/regression/xlsx_files/image06.xlsx +0 -0
  1707. data/test/regression/xlsx_files/image07.xlsx +0 -0
  1708. data/test/regression/xlsx_files/image08.xlsx +0 -0
  1709. data/test/regression/xlsx_files/image09.xlsx +0 -0
  1710. data/test/regression/xlsx_files/image10.xlsx +0 -0
  1711. data/test/regression/xlsx_files/image11.xlsx +0 -0
  1712. data/test/regression/xlsx_files/image12.xlsx +0 -0
  1713. data/test/regression/xlsx_files/image13.xlsx +0 -0
  1714. data/test/regression/xlsx_files/image14.xlsx +0 -0
  1715. data/test/regression/xlsx_files/image15.xlsx +0 -0
  1716. data/test/regression/xlsx_files/image16.xlsx +0 -0
  1717. data/test/regression/xlsx_files/image17.xlsx +0 -0
  1718. data/test/regression/xlsx_files/image18.xlsx +0 -0
  1719. data/test/regression/xlsx_files/image19.xlsx +0 -0
  1720. data/test/regression/xlsx_files/image22.xlsx +0 -0
  1721. data/test/regression/xlsx_files/image23.xlsx +0 -0
  1722. data/test/regression/xlsx_files/image24.xlsx +0 -0
  1723. data/test/regression/xlsx_files/image25.xlsx +0 -0
  1724. data/test/regression/xlsx_files/image26.xlsx +0 -0
  1725. data/test/regression/xlsx_files/image27.xlsx +0 -0
  1726. data/test/regression/xlsx_files/image28.xlsx +0 -0
  1727. data/test/regression/xlsx_files/image29.xlsx +0 -0
  1728. data/test/regression/xlsx_files/image30.xlsx +0 -0
  1729. data/test/regression/xlsx_files/image31.xlsx +0 -0
  1730. data/test/regression/xlsx_files/image32.xlsx +0 -0
  1731. data/test/regression/xlsx_files/image33.xlsx +0 -0
  1732. data/test/regression/xlsx_files/image35.xlsx +0 -0
  1733. data/test/regression/xlsx_files/image36.xlsx +0 -0
  1734. data/test/regression/xlsx_files/image44.xlsx +0 -0
  1735. data/test/regression/xlsx_files/image45.xlsx +0 -0
  1736. data/test/regression/xlsx_files/image46.xlsx +0 -0
  1737. data/test/regression/xlsx_files/image47.xlsx +0 -0
  1738. data/test/regression/xlsx_files/image48.xlsx +0 -0
  1739. data/test/regression/xlsx_files/image49.xlsx +0 -0
  1740. data/test/regression/xlsx_files/image50.xlsx +0 -0
  1741. data/test/regression/xlsx_files/image51.xlsx +0 -0
  1742. data/test/regression/xlsx_files/image52.xlsx +0 -0
  1743. data/test/regression/xlsx_files/image53.xlsx +0 -0
  1744. data/test/regression/xlsx_files/image54.xlsx +0 -0
  1745. data/test/regression/xlsx_files/image55.xlsx +0 -0
  1746. data/test/regression/xlsx_files/image56.xlsx +0 -0
  1747. data/test/regression/xlsx_files/image57.xlsx +0 -0
  1748. data/test/regression/xlsx_files/landscape01.xlsx +0 -0
  1749. data/test/regression/xlsx_files/macro01.xlsm +0 -0
  1750. data/test/regression/xlsx_files/merge_cells01.xlsx +0 -0
  1751. data/test/regression/xlsx_files/merge_range01.xlsx +0 -0
  1752. data/test/regression/xlsx_files/merge_range02.xlsx +0 -0
  1753. data/test/regression/xlsx_files/merge_range03.xlsx +0 -0
  1754. data/test/regression/xlsx_files/merge_range04.xlsx +0 -0
  1755. data/test/regression/xlsx_files/merge_range05.xlsx +0 -0
  1756. data/test/regression/xlsx_files/object_position01.xlsx +0 -0
  1757. data/test/regression/xlsx_files/object_position02.xlsx +0 -0
  1758. data/test/regression/xlsx_files/object_position03.xlsx +0 -0
  1759. data/test/regression/xlsx_files/object_position04.xlsx +0 -0
  1760. data/test/regression/xlsx_files/object_position06.xlsx +0 -0
  1761. data/test/regression/xlsx_files/object_position07.xlsx +0 -0
  1762. data/test/regression/xlsx_files/object_position08.xlsx +0 -0
  1763. data/test/regression/xlsx_files/object_position09.xlsx +0 -0
  1764. data/test/regression/xlsx_files/object_position10.xlsx +0 -0
  1765. data/test/regression/xlsx_files/object_position12.xlsx +0 -0
  1766. data/test/regression/xlsx_files/object_position13.xlsx +0 -0
  1767. data/test/regression/xlsx_files/object_position14.xlsx +0 -0
  1768. data/test/regression/xlsx_files/object_position15.xlsx +0 -0
  1769. data/test/regression/xlsx_files/object_position16.xlsx +0 -0
  1770. data/test/regression/xlsx_files/object_position17.xlsx +0 -0
  1771. data/test/regression/xlsx_files/object_position18.xlsx +0 -0
  1772. data/test/regression/xlsx_files/object_position19.xlsx +0 -0
  1773. data/test/regression/xlsx_files/object_position20.xlsx +0 -0
  1774. data/test/regression/xlsx_files/outline01.xlsx +0 -0
  1775. data/test/regression/xlsx_files/outline02.xlsx +0 -0
  1776. data/test/regression/xlsx_files/outline03.xlsx +0 -0
  1777. data/test/regression/xlsx_files/outline04.xlsx +0 -0
  1778. data/test/regression/xlsx_files/outline05.xlsx +0 -0
  1779. data/test/regression/xlsx_files/outline06.xlsx +0 -0
  1780. data/test/regression/xlsx_files/page_breaks01.xlsx +0 -0
  1781. data/test/regression/xlsx_files/page_breaks02.xlsx +0 -0
  1782. data/test/regression/xlsx_files/page_breaks03.xlsx +0 -0
  1783. data/test/regression/xlsx_files/page_breaks04.xlsx +0 -0
  1784. data/test/regression/xlsx_files/page_breaks05.xlsx +0 -0
  1785. data/test/regression/xlsx_files/page_breaks06.xlsx +0 -0
  1786. data/test/regression/xlsx_files/page_view01.xlsx +0 -0
  1787. data/test/regression/xlsx_files/panes01.xlsx +0 -0
  1788. data/test/regression/xlsx_files/print_across01.xlsx +0 -0
  1789. data/test/regression/xlsx_files/print_area01.xlsx +0 -0
  1790. data/test/regression/xlsx_files/print_area02.xlsx +0 -0
  1791. data/test/regression/xlsx_files/print_area03.xlsx +0 -0
  1792. data/test/regression/xlsx_files/print_area04.xlsx +0 -0
  1793. data/test/regression/xlsx_files/print_area05.xlsx +0 -0
  1794. data/test/regression/xlsx_files/print_area06.xlsx +0 -0
  1795. data/test/regression/xlsx_files/print_area07.xlsx +0 -0
  1796. data/test/regression/xlsx_files/print_options01.xlsx +0 -0
  1797. data/test/regression/xlsx_files/print_options02.xlsx +0 -0
  1798. data/test/regression/xlsx_files/print_options03.xlsx +0 -0
  1799. data/test/regression/xlsx_files/print_options04.xlsx +0 -0
  1800. data/test/regression/xlsx_files/print_options05.xlsx +0 -0
  1801. data/test/regression/xlsx_files/print_options06.xlsx +0 -0
  1802. data/test/regression/xlsx_files/print_options07.xlsx +0 -0
  1803. data/test/regression/xlsx_files/print_scale01.xlsx +0 -0
  1804. data/test/regression/xlsx_files/print_scale02.xlsx +0 -0
  1805. data/test/regression/xlsx_files/properties01.xlsx +0 -0
  1806. data/test/regression/xlsx_files/properties02.xlsx +0 -0
  1807. data/test/regression/xlsx_files/properties03.xlsx +0 -0
  1808. data/test/regression/xlsx_files/properties04.xlsx +0 -0
  1809. data/test/regression/xlsx_files/properties05.xlsx +0 -0
  1810. data/test/regression/xlsx_files/protect01.xlsx +0 -0
  1811. data/test/regression/xlsx_files/protect02.xlsx +0 -0
  1812. data/test/regression/xlsx_files/protect03.xlsx +0 -0
  1813. data/test/regression/xlsx_files/protect04.xlsx +0 -0
  1814. data/test/regression/xlsx_files/protect05.xlsx +0 -0
  1815. data/test/regression/xlsx_files/protect06.xlsx +0 -0
  1816. data/test/regression/xlsx_files/protect07.xlsx +0 -0
  1817. data/test/regression/xlsx_files/quote_name01.xlsx +0 -0
  1818. data/test/regression/xlsx_files/quote_name02.xlsx +0 -0
  1819. data/test/regression/xlsx_files/quote_name03.xlsx +0 -0
  1820. data/test/regression/xlsx_files/quote_name04.xlsx +0 -0
  1821. data/test/regression/xlsx_files/repeat01.xlsx +0 -0
  1822. data/test/regression/xlsx_files/repeat02.xlsx +0 -0
  1823. data/test/regression/xlsx_files/repeat03.xlsx +0 -0
  1824. data/test/regression/xlsx_files/repeat04.xlsx +0 -0
  1825. data/test/regression/xlsx_files/repeat05.xlsx +0 -0
  1826. data/test/regression/xlsx_files/rich_string01.xlsx +0 -0
  1827. data/test/regression/xlsx_files/rich_string02.xlsx +0 -0
  1828. data/test/regression/xlsx_files/rich_string03.xlsx +0 -0
  1829. data/test/regression/xlsx_files/rich_string04.xlsx +0 -0
  1830. data/test/regression/xlsx_files/rich_string05.xlsx +0 -0
  1831. data/test/regression/xlsx_files/rich_string06.xlsx +0 -0
  1832. data/test/regression/xlsx_files/rich_string07.xlsx +0 -0
  1833. data/test/regression/xlsx_files/rich_string08.xlsx +0 -0
  1834. data/test/regression/xlsx_files/rich_string09.xlsx +0 -0
  1835. data/test/regression/xlsx_files/rich_string10.xlsx +0 -0
  1836. data/test/regression/xlsx_files/rich_string11.xlsx +0 -0
  1837. data/test/regression/xlsx_files/rich_string12.xlsx +0 -0
  1838. data/test/regression/xlsx_files/row_col_format01.xlsx +0 -0
  1839. data/test/regression/xlsx_files/row_col_format02.xlsx +0 -0
  1840. data/test/regression/xlsx_files/row_col_format03.xlsx +0 -0
  1841. data/test/regression/xlsx_files/row_col_format04.xlsx +0 -0
  1842. data/test/regression/xlsx_files/row_col_format05.xlsx +0 -0
  1843. data/test/regression/xlsx_files/row_col_format06.xlsx +0 -0
  1844. data/test/regression/xlsx_files/row_col_format07.xlsx +0 -0
  1845. data/test/regression/xlsx_files/row_col_format08.xlsx +0 -0
  1846. data/test/regression/xlsx_files/row_col_format09.xlsx +0 -0
  1847. data/test/regression/xlsx_files/row_col_format10.xlsx +0 -0
  1848. data/test/regression/xlsx_files/row_col_format11.xlsx +0 -0
  1849. data/test/regression/xlsx_files/row_col_format12.xlsx +0 -0
  1850. data/test/regression/xlsx_files/row_col_format13.xlsx +0 -0
  1851. data/test/regression/xlsx_files/row_col_format14.xlsx +0 -0
  1852. data/test/regression/xlsx_files/selection01.xlsx +0 -0
  1853. data/test/regression/xlsx_files/selection02.xlsx +0 -0
  1854. data/test/regression/xlsx_files/set_column01.xlsx +0 -0
  1855. data/test/regression/xlsx_files/set_column03.xlsx +0 -0
  1856. data/test/regression/xlsx_files/set_column04.xlsx +0 -0
  1857. data/test/regression/xlsx_files/set_column05.xlsx +0 -0
  1858. data/test/regression/xlsx_files/set_column06.xlsx +0 -0
  1859. data/test/regression/xlsx_files/set_column07.xlsx +0 -0
  1860. data/test/regression/xlsx_files/set_column08.xlsx +0 -0
  1861. data/test/regression/xlsx_files/set_column09.xlsx +0 -0
  1862. data/test/regression/xlsx_files/set_print_scale01.xlsx +0 -0
  1863. data/test/regression/xlsx_files/set_row01.xlsx +0 -0
  1864. data/test/regression/xlsx_files/set_row03.xlsx +0 -0
  1865. data/test/regression/xlsx_files/set_start_page01.xlsx +0 -0
  1866. data/test/regression/xlsx_files/set_start_page02.xlsx +0 -0
  1867. data/test/regression/xlsx_files/set_start_page03.xlsx +0 -0
  1868. data/test/regression/xlsx_files/shape01.xlsx +0 -0
  1869. data/test/regression/xlsx_files/shape02.xlsx +0 -0
  1870. data/test/regression/xlsx_files/shape03.xlsx +0 -0
  1871. data/test/regression/xlsx_files/shape04.xlsx +0 -0
  1872. data/test/regression/xlsx_files/shape_connect01.xlsx +0 -0
  1873. data/test/regression/xlsx_files/shape_connect02.xlsx +0 -0
  1874. data/test/regression/xlsx_files/shape_connect03.xlsx +0 -0
  1875. data/test/regression/xlsx_files/shape_connect04.xlsx +0 -0
  1876. data/test/regression/xlsx_files/shape_scale01.xlsx +0 -0
  1877. data/test/regression/xlsx_files/shape_stencil01.xlsx +0 -0
  1878. data/test/regression/xlsx_files/shared_strings01.xlsx +0 -0
  1879. data/test/regression/xlsx_files/shared_strings02.xlsx +0 -0
  1880. data/test/regression/xlsx_files/shared_strings_encoding.xlsx +0 -0
  1881. data/test/regression/xlsx_files/simple01.xlsx +0 -0
  1882. data/test/regression/xlsx_files/simple02.xlsx +0 -0
  1883. data/test/regression/xlsx_files/simple03.xlsx +0 -0
  1884. data/test/regression/xlsx_files/simple04.xlsx +0 -0
  1885. data/test/regression/xlsx_files/simple05.xlsx +0 -0
  1886. data/test/regression/xlsx_files/tab_color01.xlsx +0 -0
  1887. data/test/regression/xlsx_files/table01.xlsx +0 -0
  1888. data/test/regression/xlsx_files/table02.xlsx +0 -0
  1889. data/test/regression/xlsx_files/table03.xlsx +0 -0
  1890. data/test/regression/xlsx_files/table04.xlsx +0 -0
  1891. data/test/regression/xlsx_files/table05.xlsx +0 -0
  1892. data/test/regression/xlsx_files/table06.xlsx +0 -0
  1893. data/test/regression/xlsx_files/table07.xlsx +0 -0
  1894. data/test/regression/xlsx_files/table08.xlsx +0 -0
  1895. data/test/regression/xlsx_files/table09.xlsx +0 -0
  1896. data/test/regression/xlsx_files/table10.xlsx +0 -0
  1897. data/test/regression/xlsx_files/table11.xlsx +0 -0
  1898. data/test/regression/xlsx_files/table12.xlsx +0 -0
  1899. data/test/regression/xlsx_files/table13.xlsx +0 -0
  1900. data/test/regression/xlsx_files/table14.xlsx +0 -0
  1901. data/test/regression/xlsx_files/table15.xlsx +0 -0
  1902. data/test/regression/xlsx_files/table17.xlsx +0 -0
  1903. data/test/regression/xlsx_files/table18.xlsx +0 -0
  1904. data/test/regression/xlsx_files/table19.xlsx +0 -0
  1905. data/test/regression/xlsx_files/table21.xlsx +0 -0
  1906. data/test/regression/xlsx_files/table22.xlsx +0 -0
  1907. data/test/regression/xlsx_files/table23.xlsx +0 -0
  1908. data/test/regression/xlsx_files/table24.xlsx +0 -0
  1909. data/test/regression/xlsx_files/table25.xlsx +0 -0
  1910. data/test/regression/xlsx_files/table26.xlsx +0 -0
  1911. data/test/regression/xlsx_files/tutorial01.xlsx +0 -0
  1912. data/test/regression/xlsx_files/tutorial02.xlsx +0 -0
  1913. data/test/regression/xlsx_files/tutorial03.xlsx +0 -0
  1914. data/test/regression/xlsx_files/types02.xlsx +0 -0
  1915. data/test/regression/xlsx_files/types08.xlsx +0 -0
  1916. data/test/regression/xlsx_files/update_range_format_with_params.xlsx +0 -0
  1917. data/test/regression/xlsx_files/urls_as_strings.xlsx +0 -0
  1918. data/test/regression/xlsx_files/utf8_01.xlsx +0 -0
  1919. data/test/regression/xlsx_files/utf8_03.xlsx +0 -0
  1920. data/test/regression/xlsx_files/utf8_04.xlsx +0 -0
  1921. data/test/regression/xlsx_files/utf8_05.xlsx +0 -0
  1922. data/test/regression/xlsx_files/utf8_06.xlsx +0 -0
  1923. data/test/regression/xlsx_files/utf8_07.xlsx +0 -0
  1924. data/test/regression/xlsx_files/utf8_08.xlsx +0 -0
  1925. data/test/regression/xlsx_files/utf8_09.xlsx +0 -0
  1926. data/test/regression/xlsx_files/utf8_10.xlsx +0 -0
  1927. data/test/regression/xlsx_files/utf8_11.xlsx +0 -0
  1928. data/test/regression/xlsx_files/vbaProject01.bin +0 -0
  1929. data/test/regression/xlsx_files/vbaProject02.bin +0 -0
  1930. data/test/regression/xlsx_files/vml01.xlsx +0 -0
  1931. data/test/regression/xlsx_files/vml02.xlsx +0 -0
  1932. data/test/regression/xlsx_files/vml03.xlsx +0 -0
  1933. data/test/regression/xlsx_files/vml04.xlsx +0 -0
  1934. data/test/republic.png +0 -0
  1935. data/test/run_test.rb +0 -9
  1936. data/test/test_delete_files.rb +0 -37
  1937. data/test/test_example_match.rb +0 -6348
  1938. data/test/test_option_hash_for_workbook.rb +0 -72
  1939. data/test/test_xml_writer_simple.rb +0 -64
  1940. data/test/utility/test_range.rb +0 -20
  1941. data/test/vbaProject.bin +0 -0
  1942. data/test/workbook/test_check_sheetname.rb +0 -51
  1943. data/test/workbook/test_define_name.rb +0 -16
  1944. data/test/workbook/test_get_chart_range.rb +0 -57
  1945. data/test/workbook/test_sort_defined_names.rb +0 -77
  1946. data/test/workbook/test_workbook_01.rb +0 -29
  1947. data/test/workbook/test_workbook_02.rb +0 -31
  1948. data/test/workbook/test_workbook_03.rb +0 -31
  1949. data/test/workbook/test_worksheet_by_name.rb +0 -35
  1950. data/test/workbook/test_write_calc_pr.rb +0 -41
  1951. data/test/workbook/test_write_defined_name.rb +0 -17
  1952. data/test/workbook/test_write_defined_names.rb +0 -41
  1953. data/test/workbook/test_write_workbook_view.rb +0 -117
  1954. data/test/worksheet/test_calculate_spans.rb +0 -58
  1955. data/test/worksheet/test_cond_format_01.rb +0 -82
  1956. data/test/worksheet/test_cond_format_02.rb +0 -87
  1957. data/test/worksheet/test_cond_format_03.rb +0 -97
  1958. data/test/worksheet/test_cond_format_04.rb +0 -85
  1959. data/test/worksheet/test_cond_format_05.rb +0 -96
  1960. data/test/worksheet/test_cond_format_06.rb +0 -106
  1961. data/test/worksheet/test_cond_format_07.rb +0 -116
  1962. data/test/worksheet/test_cond_format_08.rb +0 -115
  1963. data/test/worksheet/test_cond_format_09.rb +0 -108
  1964. data/test/worksheet/test_cond_format_10.rb +0 -83
  1965. data/test/worksheet/test_cond_format_11.rb +0 -85
  1966. data/test/worksheet/test_cond_format_12.rb +0 -133
  1967. data/test/worksheet/test_cond_format_13.rb +0 -135
  1968. data/test/worksheet/test_cond_format_14.rb +0 -132
  1969. data/test/worksheet/test_cond_format_15.rb +0 -93
  1970. data/test/worksheet/test_cond_format_16.rb +0 -138
  1971. data/test/worksheet/test_cond_format_17.rb +0 -141
  1972. data/test/worksheet/test_cond_format_18.rb +0 -135
  1973. data/test/worksheet/test_cond_format_19.rb +0 -139
  1974. data/test/worksheet/test_cond_format_20.rb +0 -119
  1975. data/test/worksheet/test_cond_format_21.rb +0 -90
  1976. data/test/worksheet/test_cond_format_22.rb +0 -266
  1977. data/test/worksheet/test_cond_format_23.rb +0 -242
  1978. data/test/worksheet/test_cond_format_24.rb +0 -303
  1979. data/test/worksheet/test_convert_date_time_01.rb +0 -439
  1980. data/test/worksheet/test_convert_date_time_02.rb +0 -472
  1981. data/test/worksheet/test_convert_date_time_03.rb +0 -435
  1982. data/test/worksheet/test_convert_date_time_04.rb +0 -19
  1983. data/test/worksheet/test_data_bar_01.rb +0 -53
  1984. data/test/worksheet/test_data_bar_02.rb +0 -79
  1985. data/test/worksheet/test_data_bar_03.rb +0 -147
  1986. data/test/worksheet/test_data_bar_04.rb +0 -145
  1987. data/test/worksheet/test_data_bar_05.rb +0 -147
  1988. data/test/worksheet/test_data_bar_06.rb +0 -145
  1989. data/test/worksheet/test_data_bar_07.rb +0 -146
  1990. data/test/worksheet/test_data_bar_08.rb +0 -54
  1991. data/test/worksheet/test_data_bar_09.rb +0 -80
  1992. data/test/worksheet/test_data_bar_10.rb +0 -165
  1993. data/test/worksheet/test_data_bar_11.rb +0 -167
  1994. data/test/worksheet/test_data_bar_12.rb +0 -104
  1995. data/test/worksheet/test_extract_filter_tokens.rb +0 -109
  1996. data/test/worksheet/test_parse_filter_expression.rb +0 -143
  1997. data/test/worksheet/test_pixels_to_row_col.rb +0 -46
  1998. data/test/worksheet/test_position_object.rb +0 -50
  1999. data/test/worksheet/test_repeat_formula.rb +0 -55
  2000. data/test/worksheet/test_sparkline_01.rb +0 -65
  2001. data/test/worksheet/test_sparkline_02.rb +0 -92
  2002. data/test/worksheet/test_sparkline_03.rb +0 -133
  2003. data/test/worksheet/test_sparkline_04.rb +0 -93
  2004. data/test/worksheet/test_sparkline_05.rb +0 -93
  2005. data/test/worksheet/test_sparkline_06.rb +0 -114
  2006. data/test/worksheet/test_sparkline_07.rb +0 -357
  2007. data/test/worksheet/test_sparkline_08.rb +0 -177
  2008. data/test/worksheet/test_sparkline_09.rb +0 -1250
  2009. data/test/worksheet/test_sparkline_10.rb +0 -107
  2010. data/test/worksheet/test_sparkline_11.rb +0 -218
  2011. data/test/worksheet/test_sparkline_12.rb +0 -94
  2012. data/test/worksheet/test_update_format_methods.rb +0 -91
  2013. data/test/worksheet/test_worksheet_01.rb +0 -32
  2014. data/test/worksheet/test_worksheet_02.rb +0 -38
  2015. data/test/worksheet/test_worksheet_03.rb +0 -44
  2016. data/test/worksheet/test_worksheet_04.rb +0 -45
  2017. data/test/worksheet/test_write_array_formula_01.rb +0 -98
  2018. data/test/worksheet/test_write_autofilter.rb +0 -260
  2019. data/test/worksheet/test_write_brk.rb +0 -18
  2020. data/test/worksheet/test_write_cell.rb +0 -54
  2021. data/test/worksheet/test_write_cell_value.rb +0 -33
  2022. data/test/worksheet/test_write_col_breaks.rb +0 -27
  2023. data/test/worksheet/test_write_col_info.rb +0 -95
  2024. data/test/worksheet/test_write_conditional_formatting.rb +0 -72
  2025. data/test/worksheet/test_write_custom_filter.rb +0 -18
  2026. data/test/worksheet/test_write_custom_filters.rb +0 -25
  2027. data/test/worksheet/test_write_data_validation_01.rb +0 -113
  2028. data/test/worksheet/test_write_data_validation_02.rb +0 -585
  2029. data/test/worksheet/test_write_dimension.rb +0 -94
  2030. data/test/worksheet/test_write_filter.rb +0 -18
  2031. data/test/worksheet/test_write_filter_column.rb +0 -18
  2032. data/test/worksheet/test_write_filters.rb +0 -32
  2033. data/test/worksheet/test_write_formula_does_not_change_formula_string.rb +0 -18
  2034. data/test/worksheet/test_write_header_footer.rb +0 -58
  2035. data/test/worksheet/test_write_hyperlink.rb +0 -32
  2036. data/test/worksheet/test_write_legacy_drawing.rb +0 -19
  2037. data/test/worksheet/test_write_merge_cell.rb +0 -18
  2038. data/test/worksheet/test_write_merge_cells.rb +0 -192
  2039. data/test/worksheet/test_write_methods.rb +0 -248
  2040. data/test/worksheet/test_write_page_margins.rb +0 -98
  2041. data/test/worksheet/test_write_page_set_up_pr.rb +0 -19
  2042. data/test/worksheet/test_write_page_setup.rb +0 -54
  2043. data/test/worksheet/test_write_pane.rb +0 -123
  2044. data/test/worksheet/test_write_phonetic_pr.rb +0 -19
  2045. data/test/worksheet/test_write_print_options.rb +0 -77
  2046. data/test/worksheet/test_write_row_breaks.rb +0 -27
  2047. data/test/worksheet/test_write_row_element.rb +0 -69
  2048. data/test/worksheet/test_write_selection.rb +0 -18
  2049. data/test/worksheet/test_write_sheet_calc_pr.rb +0 -18
  2050. data/test/worksheet/test_write_sheet_data.rb +0 -18
  2051. data/test/worksheet/test_write_sheet_format_pr.rb +0 -18
  2052. data/test/worksheet/test_write_sheet_pr.rb +0 -36
  2053. data/test/worksheet/test_write_sheet_protection.rb +0 -174
  2054. data/test/worksheet/test_write_sheet_view.rb +0 -71
  2055. data/test/worksheet/test_write_sheet_view1.rb +0 -64
  2056. data/test/worksheet/test_write_sheet_view2.rb +0 -56
  2057. data/test/worksheet/test_write_sheet_view3.rb +0 -83
  2058. data/test/worksheet/test_write_sheet_view4.rb +0 -83
  2059. data/test/worksheet/test_write_sheet_view5.rb +0 -74
  2060. data/test/worksheet/test_write_sheet_view6.rb +0 -51
  2061. data/test/worksheet/test_write_sheet_view7.rb +0 -71
  2062. data/test/worksheet/test_write_sheet_view8.rb +0 -51
  2063. data/test/worksheet/test_write_sheet_view9.rb +0 -51
  2064. data/test/worksheet/test_write_tab_color.rb +0 -23
  2065. data/test/worksheet/test_write_worksheet_attributes.rb +0 -21
@@ -1,5 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # frozen_string_literal: true
3
+
3
4
  require 'write_xlsx/package/xml_writer_simple'
4
5
  require 'write_xlsx/package/packager'
5
6
  require 'write_xlsx/sheets'
@@ -16,11 +17,9 @@ require 'tempfile'
16
17
  require 'digest/md5'
17
18
 
18
19
  module Writexlsx
19
-
20
20
  OFFICE_URL = 'http://schemas.microsoft.com/office/' # :nodoc:
21
21
 
22
22
  class Workbook
23
-
24
23
  include Writexlsx::Utility
25
24
 
26
25
  attr_writer :firstsheet # :nodoc:
@@ -35,16 +34,18 @@ module Writexlsx
35
34
  attr_reader :excel2003_style # :nodoc:
36
35
  attr_reader :max_url_length # :nodoc:
37
36
  attr_reader :strings_to_urls # :nodoc:
38
- attr_reader :default_url_format # :nodoc:
39
37
  attr_reader :read_only # :nodoc:
40
38
 
41
39
  def initialize(file, *option_params)
42
40
  options, default_formats = process_workbook_options(*option_params)
43
41
  @writer = Package::XMLWriterSimple.new
44
42
 
45
- @file = file
43
+ @file = file
46
44
  @tempdir = options[:tempdir] ||
47
- File.join(Dir.tmpdir, Digest::MD5.hexdigest("#{Time.now.to_f.to_s}-#{Process.pid}"))
45
+ File.join(
46
+ Dir.tmpdir,
47
+ Digest::MD5.hexdigest("#{Time.now.to_f}-#{Process.pid}")
48
+ )
48
49
  @date_1904 = options[:date_1904] || false
49
50
  @activesheet = 0
50
51
  @firstsheet = 0
@@ -57,7 +58,7 @@ module Writexlsx
57
58
  @xf_formats = []
58
59
  @dxf_formats = []
59
60
  @font_count = 0
60
- @num_format_count = 0
61
+ @num_formats = []
61
62
  @defined_names = []
62
63
  @named_ranges = []
63
64
  @custom_colors = []
@@ -73,7 +74,7 @@ module Writexlsx
73
74
  @table_count = 0
74
75
  @image_types = {}
75
76
  @images = []
76
- @strings_to_urls = (options[:strings_to_urls].nil? || options[:strings_to_urls]) ? true : false
77
+ @strings_to_urls = options[:strings_to_urls].nil? || options[:strings_to_urls] ? true : false
77
78
 
78
79
  @max_url_length = 2079
79
80
  @has_comments = false
@@ -94,18 +95,18 @@ module Writexlsx
94
95
 
95
96
  if @excel2003_style
96
97
  add_format(default_formats.merge(
97
- :xf_index => 0,
98
- :font_family => 0,
99
- :font => 'Arial',
100
- :size => 10,
101
- :theme => -1
98
+ xf_index: 0,
99
+ font_family: 0,
100
+ font: 'Arial',
101
+ size: 10,
102
+ theme: -1
102
103
  ))
103
104
  else
104
- add_format(default_formats.merge(:xf_index => 0))
105
+ add_format(default_formats.merge(xf_index: 0))
105
106
  end
106
107
 
107
108
  # Add a default URL format.
108
- @default_url_format = add_format(:hyperlink => 1)
109
+ @default_url_format = add_format(hyperlink: 1)
109
110
 
110
111
  set_color_palette
111
112
  end
@@ -132,7 +133,7 @@ module Writexlsx
132
133
  if args.empty?
133
134
  @worksheets
134
135
  else
135
- args.collect{|i| @worksheets[i] }
136
+ args.collect { |i| @worksheets[i] }
136
137
  end
137
138
  end
138
139
 
@@ -148,9 +149,8 @@ module Writexlsx
148
149
  # Set the date system: false = 1900 (the default), true = 1904
149
150
  #
150
151
  def set_1904(mode = true)
151
- unless sheets.empty?
152
- raise "set_1904() must be called before add_worksheet()"
153
- end
152
+ raise "set_1904() must be called before add_worksheet()" unless sheets.empty?
153
+
154
154
  @date_1904 = ptrue?(mode)
155
155
  end
156
156
 
@@ -168,31 +168,29 @@ module Writexlsx
168
168
  #
169
169
  # user must not use. it is internal method.
170
170
  #
171
- def set_xml_writer(filename) #:nodoc:
171
+ def set_xml_writer(filename) # :nodoc:
172
172
  @writer.set_xml_writer(filename)
173
173
  end
174
174
 
175
175
  #
176
176
  # user must not use. it is internal method.
177
177
  #
178
- def xml_str #:nodoc:
178
+ def xml_str # :nodoc:
179
179
  @writer.string
180
180
  end
181
181
 
182
182
  #
183
183
  # user must not use. it is internal method.
184
184
  #
185
- def assemble_xml_file #:nodoc:
185
+ def assemble_xml_file # :nodoc:
186
186
  return unless @writer
187
187
 
188
188
  # Prepare format object for passing to Style.rb.
189
189
  prepare_format_properties
190
190
 
191
191
  write_xml_declaration do
192
-
193
192
  # Write the root workbook element.
194
193
  write_workbook do
195
-
196
194
  # Write the XLSX file version.
197
195
  write_file_version
198
196
 
@@ -215,7 +213,7 @@ module Writexlsx
215
213
  write_calc_pr
216
214
 
217
215
  # Write the workbook extension storage.
218
- #write_ext_lst
216
+ # write_ext_lst
219
217
  end
220
218
  end
221
219
  end
@@ -224,7 +222,7 @@ module Writexlsx
224
222
  # At least one worksheet should be added to a new workbook. A worksheet is used to write data into cells:
225
223
  #
226
224
  def add_worksheet(name = '')
227
- name = check_sheetname(name)
225
+ name = check_sheetname(name)
228
226
  worksheet = Worksheet.new(self, @worksheets.size, name)
229
227
  @worksheets << worksheet
230
228
  worksheet
@@ -257,7 +255,7 @@ module Writexlsx
257
255
  # Check the worksheet name for non-embedded charts.
258
256
  sheetname = check_chart_sheetname(name)
259
257
  chartsheet = Chartsheet.new(self, @worksheets.size, sheetname)
260
- chartsheet.chart = chart
258
+ chartsheet.chart = chart
261
259
  @worksheets << chartsheet
262
260
  end
263
261
  @charts << chart
@@ -275,9 +273,7 @@ module Writexlsx
275
273
  #
276
274
  def add_format(property_hash = {})
277
275
  properties = {}
278
- if @excel2003_style
279
- properties.update(:font => 'Arial', :size => 10, :theme => -1)
280
- end
276
+ properties.update(font: 'Arial', size: 10, theme: -1) if @excel2003_style
281
277
  properties.update(property_hash)
282
278
 
283
279
  format = Format.new(@formats, properties)
@@ -296,7 +292,7 @@ module Writexlsx
296
292
  shape.palette = @palette
297
293
 
298
294
  @shapes ||= []
299
- @shapes << shape #Store shape reference.
295
+ @shapes << shape # Store shape reference.
300
296
  shape
301
297
  end
302
298
 
@@ -310,63 +306,55 @@ module Writexlsx
310
306
 
311
307
  # Local defined names are formatted like "Sheet1!name".
312
308
  if name =~ /^(.*)!(.*)$/
313
- sheetname = $1
314
- name = $2
309
+ sheetname = ::Regexp.last_match(1)
310
+ name = ::Regexp.last_match(2)
315
311
  sheet_index = @worksheets.index_by_name(sheetname)
316
312
  else
317
313
  sheet_index = -1 # Use -1 to indicate global names.
318
314
  end
319
315
 
320
316
  # Raise if the sheet index wasn't found.
321
- if !sheet_index
322
- raise "Unknown sheet name #{sheetname} in defined_name()"
323
- end
317
+ raise "Unknown sheet name #{sheetname} in defined_name()" unless sheet_index
324
318
 
325
319
  # Raise if the name contains invalid chars as defined by Excel help.
326
320
  # Refer to the following to see Excel's syntax rules for defined names:
327
321
  # http://office.microsoft.com/en-001/excel-help/define-and-use-names-in-formulas-HA010147120.aspx#BMsyntax_rules_for_names
328
322
  #
329
- if name =~ /\A[-0-9 !"#\$%&'\(\)\*\+,\.:;<=>\?@\[\]\^`\{\}~]/ || name =~ /.+[- !"#\$%&'\(\)\*\+,\\:;<=>\?@\[\]\^`\{\}~]/
330
- raise "Invalid characters in name '#{name}' used in defined_name()"
331
- end
323
+ raise "Invalid characters in name '#{name}' used in defined_name()" if name =~ /\A[-0-9 !"#$%&'()*+,.:;<=>?@\[\]\^`{}~]/ || name =~ /.+[- !"#$%&'()*+,\\:;<=>?@\[\]\^`{}~]/
332
324
 
333
325
  # Raise if the name looks like a cell name.
334
- if name =~ %r(^[a-zA-Z][a-zA-Z]?[a-dA-D]?[0-9]+$)
335
- raise "Invalid name '#{name}' looks like a cell name in defined_name()"
336
- end
326
+ raise "Invalid name '#{name}' looks like a cell name in defined_name()" if name =~ /^[a-zA-Z][a-zA-Z]?[a-dA-D]?[0-9]+$/
337
327
 
338
328
  # Raise if the name looks like a R1C1
339
- if name =~ /\A[rcRC]\Z/ || name =~ /\A[rcRC]\d+[rcRC]\d+\Z/
340
- raise "Invalid name '#{name}' like a RC cell ref in defined_name()"
341
- end
329
+ raise "Invalid name '#{name}' like a RC cell ref in defined_name()" if name =~ /\A[rcRC]\Z/ || name =~ /\A[rcRC]\d+[rcRC]\d+\Z/
342
330
 
343
- @defined_names.push([ name, sheet_index, formula.sub(/^=/, '') ])
331
+ @defined_names.push([name, sheet_index, formula.sub(/^=/, '')])
344
332
  end
345
333
 
346
334
  #
347
335
  # Set the workbook size.
348
336
  #
349
337
  def set_size(width = nil, height = nil)
350
- if ptrue?(width)
351
- # Convert to twips at 96 dpi.
352
- @window_width = width.to_i * 1440 / 96
353
- else
354
- @window_width = 16095
355
- end
338
+ @window_width = if ptrue?(width)
339
+ # Convert to twips at 96 dpi.
340
+ width.to_i * 1440 / 96
341
+ else
342
+ 16095
343
+ end
356
344
 
357
- if ptrue?(height)
358
- # Convert to twips at 96 dpi.
359
- @window_height = height.to_i * 1440 / 96
360
- else
361
- @window_height = 9660
362
- end
345
+ @window_height = if ptrue?(height)
346
+ # Convert to twips at 96 dpi.
347
+ height.to_i * 1440 / 96
348
+ else
349
+ 9660
350
+ end
363
351
  end
364
352
 
365
353
  #
366
354
  # Set the ratio of space for worksheet tabs.
367
355
  #
368
356
  def set_tab_ratio(tab_ratio = nil)
369
- return if !tab_ratio
357
+ return unless tab_ratio
370
358
 
371
359
  if tab_ratio < 0 || tab_ratio > 100
372
360
  raise "Tab ratio outside range: 0 <= zoom <= 100"
@@ -388,18 +376,18 @@ module Writexlsx
388
376
 
389
377
  # List of valid input parameters.
390
378
  valid = {
391
- :title => 1,
392
- :subject => 1,
393
- :author => 1,
394
- :keywords => 1,
395
- :comments => 1,
396
- :last_author => 1,
397
- :created => 1,
398
- :category => 1,
399
- :manager => 1,
400
- :company => 1,
401
- :status => 1,
402
- :hyperlink_base => 1
379
+ title: 1,
380
+ subject: 1,
381
+ author: 1,
382
+ keywords: 1,
383
+ comments: 1,
384
+ last_author: 1,
385
+ created: 1,
386
+ category: 1,
387
+ manager: 1,
388
+ company: 1,
389
+ status: 1,
390
+ hyperlink_base: 1
403
391
  }
404
392
 
405
393
  # Check for valid input parameters.
@@ -417,40 +405,34 @@ module Writexlsx
417
405
  # Set a user defined custom document property.
418
406
  #
419
407
  def set_custom_property(name, value, type = nil)
420
- # Valid types.
408
+ # Valid types.
421
409
  valid_type = {
422
410
  'text' => 1,
423
411
  'date' => 1,
424
412
  'number' => 1,
425
413
  'number_int' => 1,
426
- 'bool' => 1,
414
+ 'bool' => 1
427
415
  }
428
416
 
429
- if !name || (type != 'bool' && !value)
430
- raise "The name and value parameters must be defined in set_custom_property()"
431
- end
417
+ raise "The name and value parameters must be defined in set_custom_property()" if !name || (type != 'bool' && !value)
432
418
 
433
419
  # Determine the type for strings and numbers if it hasn't been specified.
434
- if !ptrue?(type)
435
- if value =~ /^\d+$/
436
- type = 'number_int'
437
- elsif value =~
438
- /^([+-]?)(?=[0-9]|\.[0-9])[0-9]*(\.[0-9]*)?([Ee]([+-]?[0-9]+))?$/
439
- type = 'number'
440
- else
441
- type = 'text'
442
- end
420
+ unless ptrue?(type)
421
+ type = if value =~ /^\d+$/
422
+ 'number_int'
423
+ elsif value =~
424
+ /^([+-]?)(?=[0-9]|\.[0-9])[0-9]*(\.[0-9]*)?([Ee]([+-]?[0-9]+))?$/
425
+ 'number'
426
+ else
427
+ 'text'
428
+ end
443
429
  end
444
430
 
445
431
  # Check for valid validation types.
446
- if !valid_type[type]
447
- raise "Unknown custom type '$type' in set_custom_property()"
448
- end
432
+ raise "Unknown custom type '$type' in set_custom_property()" unless valid_type[type]
449
433
 
450
434
  # Check for strings longer than Excel's limit of 255 chars.
451
- if type == 'text' && value.length > 255
452
- raise "Length of text custom value '$value' exceeds Excel's limit of 255 in set_custom_property()"
453
- end
435
+ raise "Length of text custom value '$value' exceeds Excel's limit of 255 in set_custom_property()" if type == 'text' && value.length > 255
454
436
 
455
437
  if type == 'bool'
456
438
  value = value ? 1 : 0
@@ -459,7 +441,6 @@ module Writexlsx
459
441
  @custom_properties << [name, value, type]
460
442
  end
461
443
 
462
-
463
444
  #
464
445
  # The add_vba_project method can be used to add macros or functions to an
465
446
  # WriteXLSX file using a binary VBA project file that has been extracted
@@ -473,11 +454,7 @@ module Writexlsx
473
454
  # Set the VBA name for the workbook.
474
455
  #
475
456
  def set_vba_name(vba_codename = nil)
476
- if vba_codename
477
- @vba_codename = vba_codename
478
- else
479
- @vba_codename = 'ThisWorkbook'
480
- end
457
+ @vba_codename = vba_codename || 'ThisWorkbook'
481
458
  end
482
459
 
483
460
  #
@@ -496,7 +473,7 @@ module Writexlsx
496
473
  @calc_mode = mode || 'auto'
497
474
 
498
475
  if mode == 'manual'
499
- @calc_on_load = false
476
+ @calc_on_load = false
500
477
  elsif mode == 'auto_except_tables'
501
478
  @calc_mode = 'autoNoTable'
502
479
  end
@@ -509,9 +486,7 @@ module Writexlsx
509
486
  # with write_url(). The format is the hyperlink style defined by Excel for the
510
487
  # default theme.
511
488
  #
512
- def default_url_format
513
- @default_url_format
514
- end
489
+ attr_reader :default_url_format
515
490
  alias get_default_url_format default_url_format
516
491
 
517
492
  #
@@ -520,15 +495,13 @@ module Writexlsx
520
495
  def set_custom_color(index, red = 0, green = 0, blue = 0)
521
496
  # Match a HTML #xxyyzz style parameter
522
497
  if red.to_s =~ /^#(\w\w)(\w\w)(\w\w)/
523
- red = $1.hex
524
- green = $2.hex
525
- blue = $3.hex
498
+ red = ::Regexp.last_match(1).hex
499
+ green = ::Regexp.last_match(2).hex
500
+ blue = ::Regexp.last_match(3).hex
526
501
  end
527
502
 
528
503
  # Check that the colour index is the right range
529
- if index < 8 || index > 64
530
- raise "Color index #{index} outside range: 8 <= index <= 64"
531
- end
504
+ raise "Color index #{index} outside range: 8 <= index <= 64" if index < 8 || index > 64
532
505
 
533
506
  # Check that the colour components are in the right range
534
507
  if (red < 0 || red > 255) ||
@@ -537,7 +510,7 @@ module Writexlsx
537
510
  raise "Color component outside range: 0 <= color <= 255"
538
511
  end
539
512
 
540
- index -=8 # Adjust colour index (wingless dragonfly)
513
+ index -= 8 # Adjust colour index (wingless dragonfly)
541
514
 
542
515
  # Set the RGB value
543
516
  @palette[index] = [red, green, blue]
@@ -548,15 +521,11 @@ module Writexlsx
548
521
  index + 8
549
522
  end
550
523
 
551
- def activesheet=(worksheet) #:nodoc:
552
- @activesheet = worksheet
553
- end
524
+ attr_writer :activesheet
554
525
 
555
- def writer #:nodoc:
556
- @writer
557
- end
526
+ attr_reader :writer
558
527
 
559
- def date_1904? #:nodoc:
528
+ def date_1904? # :nodoc:
560
529
  @date_1904 ||= false
561
530
  !!@date_1904
562
531
  end
@@ -566,7 +535,7 @@ module Writexlsx
566
535
  # return the string index.
567
536
  #
568
537
  EMPTY_HASH = {}.freeze
569
- def shared_string_index(str) #:nodoc:
538
+ def shared_string_index(str) # :nodoc:
570
539
  @shared_strings.index(str, EMPTY_HASH)
571
540
  end
572
541
 
@@ -591,7 +560,7 @@ module Writexlsx
591
560
  @xf_formats,
592
561
  @palette,
593
562
  @font_count,
594
- @num_format_count,
563
+ @num_formats,
595
564
  @border_count,
596
565
  @fill_count,
597
566
  @custom_colors,
@@ -616,11 +585,11 @@ module Writexlsx
616
585
  @worksheets.worksheets
617
586
  end
618
587
 
619
- def firstsheet #:nodoc:
588
+ def firstsheet # :nodoc:
620
589
  @firstsheet ||= 0
621
590
  end
622
591
 
623
- def activesheet #:nodoc:
592
+ def activesheet # :nodoc:
624
593
  @activesheet ||= 0
625
594
  end
626
595
 
@@ -640,7 +609,7 @@ module Writexlsx
640
609
  @fileobj
641
610
  end
642
611
 
643
- def setup_filename #:nodoc:
612
+ def setup_filename # :nodoc:
644
613
  if @file.respond_to?(:to_str) && @file != ''
645
614
  @filename = @file
646
615
  @fileobj = nil
@@ -652,71 +621,69 @@ module Writexlsx
652
621
  end
653
622
  end
654
623
 
655
- def tempdir
656
- @tempdir
657
- end
624
+ attr_reader :tempdir
658
625
 
659
626
  #
660
627
  # Sets the colour palette to the Excel defaults.
661
628
  #
662
- def set_color_palette #:nodoc:
629
+ def set_color_palette # :nodoc:
663
630
  @palette = [
664
- [ 0x00, 0x00, 0x00, 0x00 ], # 8
665
- [ 0xff, 0xff, 0xff, 0x00 ], # 9
666
- [ 0xff, 0x00, 0x00, 0x00 ], # 10
667
- [ 0x00, 0xff, 0x00, 0x00 ], # 11
668
- [ 0x00, 0x00, 0xff, 0x00 ], # 12
669
- [ 0xff, 0xff, 0x00, 0x00 ], # 13
670
- [ 0xff, 0x00, 0xff, 0x00 ], # 14
671
- [ 0x00, 0xff, 0xff, 0x00 ], # 15
672
- [ 0x80, 0x00, 0x00, 0x00 ], # 16
673
- [ 0x00, 0x80, 0x00, 0x00 ], # 17
674
- [ 0x00, 0x00, 0x80, 0x00 ], # 18
675
- [ 0x80, 0x80, 0x00, 0x00 ], # 19
676
- [ 0x80, 0x00, 0x80, 0x00 ], # 20
677
- [ 0x00, 0x80, 0x80, 0x00 ], # 21
678
- [ 0xc0, 0xc0, 0xc0, 0x00 ], # 22
679
- [ 0x80, 0x80, 0x80, 0x00 ], # 23
680
- [ 0x99, 0x99, 0xff, 0x00 ], # 24
681
- [ 0x99, 0x33, 0x66, 0x00 ], # 25
682
- [ 0xff, 0xff, 0xcc, 0x00 ], # 26
683
- [ 0xcc, 0xff, 0xff, 0x00 ], # 27
684
- [ 0x66, 0x00, 0x66, 0x00 ], # 28
685
- [ 0xff, 0x80, 0x80, 0x00 ], # 29
686
- [ 0x00, 0x66, 0xcc, 0x00 ], # 30
687
- [ 0xcc, 0xcc, 0xff, 0x00 ], # 31
688
- [ 0x00, 0x00, 0x80, 0x00 ], # 32
689
- [ 0xff, 0x00, 0xff, 0x00 ], # 33
690
- [ 0xff, 0xff, 0x00, 0x00 ], # 34
691
- [ 0x00, 0xff, 0xff, 0x00 ], # 35
692
- [ 0x80, 0x00, 0x80, 0x00 ], # 36
693
- [ 0x80, 0x00, 0x00, 0x00 ], # 37
694
- [ 0x00, 0x80, 0x80, 0x00 ], # 38
695
- [ 0x00, 0x00, 0xff, 0x00 ], # 39
696
- [ 0x00, 0xcc, 0xff, 0x00 ], # 40
697
- [ 0xcc, 0xff, 0xff, 0x00 ], # 41
698
- [ 0xcc, 0xff, 0xcc, 0x00 ], # 42
699
- [ 0xff, 0xff, 0x99, 0x00 ], # 43
700
- [ 0x99, 0xcc, 0xff, 0x00 ], # 44
701
- [ 0xff, 0x99, 0xcc, 0x00 ], # 45
702
- [ 0xcc, 0x99, 0xff, 0x00 ], # 46
703
- [ 0xff, 0xcc, 0x99, 0x00 ], # 47
704
- [ 0x33, 0x66, 0xff, 0x00 ], # 48
705
- [ 0x33, 0xcc, 0xcc, 0x00 ], # 49
706
- [ 0x99, 0xcc, 0x00, 0x00 ], # 50
707
- [ 0xff, 0xcc, 0x00, 0x00 ], # 51
708
- [ 0xff, 0x99, 0x00, 0x00 ], # 52
709
- [ 0xff, 0x66, 0x00, 0x00 ], # 53
710
- [ 0x66, 0x66, 0x99, 0x00 ], # 54
711
- [ 0x96, 0x96, 0x96, 0x00 ], # 55
712
- [ 0x00, 0x33, 0x66, 0x00 ], # 56
713
- [ 0x33, 0x99, 0x66, 0x00 ], # 57
714
- [ 0x00, 0x33, 0x00, 0x00 ], # 58
715
- [ 0x33, 0x33, 0x00, 0x00 ], # 59
716
- [ 0x99, 0x33, 0x00, 0x00 ], # 60
717
- [ 0x99, 0x33, 0x66, 0x00 ], # 61
718
- [ 0x33, 0x33, 0x99, 0x00 ], # 62
719
- [ 0x33, 0x33, 0x33, 0x00 ], # 63
631
+ [0x00, 0x00, 0x00, 0x00], # 8
632
+ [0xff, 0xff, 0xff, 0x00], # 9
633
+ [0xff, 0x00, 0x00, 0x00], # 10
634
+ [0x00, 0xff, 0x00, 0x00], # 11
635
+ [0x00, 0x00, 0xff, 0x00], # 12
636
+ [0xff, 0xff, 0x00, 0x00], # 13
637
+ [0xff, 0x00, 0xff, 0x00], # 14
638
+ [0x00, 0xff, 0xff, 0x00], # 15
639
+ [0x80, 0x00, 0x00, 0x00], # 16
640
+ [0x00, 0x80, 0x00, 0x00], # 17
641
+ [0x00, 0x00, 0x80, 0x00], # 18
642
+ [0x80, 0x80, 0x00, 0x00], # 19
643
+ [0x80, 0x00, 0x80, 0x00], # 20
644
+ [0x00, 0x80, 0x80, 0x00], # 21
645
+ [0xc0, 0xc0, 0xc0, 0x00], # 22
646
+ [0x80, 0x80, 0x80, 0x00], # 23
647
+ [0x99, 0x99, 0xff, 0x00], # 24
648
+ [0x99, 0x33, 0x66, 0x00], # 25
649
+ [0xff, 0xff, 0xcc, 0x00], # 26
650
+ [0xcc, 0xff, 0xff, 0x00], # 27
651
+ [0x66, 0x00, 0x66, 0x00], # 28
652
+ [0xff, 0x80, 0x80, 0x00], # 29
653
+ [0x00, 0x66, 0xcc, 0x00], # 30
654
+ [0xcc, 0xcc, 0xff, 0x00], # 31
655
+ [0x00, 0x00, 0x80, 0x00], # 32
656
+ [0xff, 0x00, 0xff, 0x00], # 33
657
+ [0xff, 0xff, 0x00, 0x00], # 34
658
+ [0x00, 0xff, 0xff, 0x00], # 35
659
+ [0x80, 0x00, 0x80, 0x00], # 36
660
+ [0x80, 0x00, 0x00, 0x00], # 37
661
+ [0x00, 0x80, 0x80, 0x00], # 38
662
+ [0x00, 0x00, 0xff, 0x00], # 39
663
+ [0x00, 0xcc, 0xff, 0x00], # 40
664
+ [0xcc, 0xff, 0xff, 0x00], # 41
665
+ [0xcc, 0xff, 0xcc, 0x00], # 42
666
+ [0xff, 0xff, 0x99, 0x00], # 43
667
+ [0x99, 0xcc, 0xff, 0x00], # 44
668
+ [0xff, 0x99, 0xcc, 0x00], # 45
669
+ [0xcc, 0x99, 0xff, 0x00], # 46
670
+ [0xff, 0xcc, 0x99, 0x00], # 47
671
+ [0x33, 0x66, 0xff, 0x00], # 48
672
+ [0x33, 0xcc, 0xcc, 0x00], # 49
673
+ [0x99, 0xcc, 0x00, 0x00], # 50
674
+ [0xff, 0xcc, 0x00, 0x00], # 51
675
+ [0xff, 0x99, 0x00, 0x00], # 52
676
+ [0xff, 0x66, 0x00, 0x00], # 53
677
+ [0x66, 0x66, 0x99, 0x00], # 54
678
+ [0x96, 0x96, 0x96, 0x00], # 55
679
+ [0x00, 0x33, 0x66, 0x00], # 56
680
+ [0x33, 0x99, 0x66, 0x00], # 57
681
+ [0x00, 0x33, 0x00, 0x00], # 58
682
+ [0x33, 0x33, 0x00, 0x00], # 59
683
+ [0x99, 0x33, 0x00, 0x00], # 60
684
+ [0x99, 0x33, 0x66, 0x00], # 61
685
+ [0x33, 0x33, 0x99, 0x00], # 62
686
+ [0x33, 0x33, 0x33, 0x00] # 63
720
687
  ]
721
688
  end
722
689
 
@@ -724,7 +691,7 @@ module Writexlsx
724
691
  # Check for valid worksheet names. We check the length, if it contains any
725
692
  # invalid characters and if the name is unique in the workbook.
726
693
  #
727
- def check_sheetname(name) #:nodoc:
694
+ def check_sheetname(name) # :nodoc:
728
695
  @worksheets.make_and_check_sheet_chart_name(:sheet, name)
729
696
  end
730
697
 
@@ -736,60 +703,58 @@ module Writexlsx
736
703
  # Convert a range formula such as Sheet1!$B$1:$B$5 into a sheet name and cell
737
704
  # range such as ( 'Sheet1', 0, 1, 4, 1 ).
738
705
  #
739
- def get_chart_range(range) #:nodoc:
706
+ def get_chart_range(range) # :nodoc:
740
707
  # Split the range formula into sheetname and cells at the last '!'.
741
708
  pos = range.rindex('!')
742
709
  return nil unless pos
743
710
 
744
711
  if pos > 0
745
712
  sheetname = range[0, pos]
746
- cells = range[pos + 1 .. -1]
713
+ cells = range[pos + 1..-1]
747
714
  end
748
715
 
749
716
  # Split the cell range into 2 cells or else use single cell for both.
750
717
  if cells =~ /:/
751
- cell_1, cell_2 = cells.split(/:/)
718
+ cell_1, cell_2 = cells.split(":")
752
719
  else
753
- cell_1, cell_2 = cells, cells
720
+ cell_1 = cells
721
+ cell_2 = cells
754
722
  end
755
723
 
756
724
  # Remove leading/trailing apostrophes and convert escaped quotes to single.
757
725
  sheetname.sub!(/^'/, '')
758
726
  sheetname.sub!(/'$/, '')
759
- sheetname.gsub!(/''/, "'")
727
+ sheetname.gsub!("''", "'")
760
728
 
761
729
  row_start, col_start = xl_cell_to_rowcol(cell_1)
762
730
  row_end, col_end = xl_cell_to_rowcol(cell_2)
763
731
 
764
732
  # Check that we have a 1D range only.
765
733
  return nil if row_start != row_end && col_start != col_end
766
- return [sheetname, row_start, col_start, row_end, col_end]
734
+
735
+ [sheetname, row_start, col_start, row_end, col_end]
767
736
  end
768
737
 
769
- def write_workbook #:nodoc:
770
- schema = 'http://schemas.openxmlformats.org'
738
+ def write_workbook(&block) # :nodoc:
739
+ schema = 'http://schemas.openxmlformats.org'
771
740
  attributes = [
772
741
  ['xmlns',
773
742
  schema + '/spreadsheetml/2006/main'],
774
743
  ['xmlns:r',
775
744
  schema + '/officeDocument/2006/relationships']
776
745
  ]
777
- @writer.tag_elements('workbook', attributes) do
778
- yield
779
- end
746
+ @writer.tag_elements('workbook', attributes, &block)
780
747
  end
781
748
 
782
- def write_file_version #:nodoc:
749
+ def write_file_version # :nodoc:
783
750
  attributes = [
784
- ['appName', 'xl'],
751
+ %w[appName xl],
785
752
  ['lastEdited', 4],
786
753
  ['lowestEdited', 4],
787
754
  ['rupBuild', 4505]
788
755
  ]
789
756
 
790
- if @vba_project
791
- attributes << [:codeName, '{37E998C4-C9E5-D4B9-71C8-EB1FF731991C}']
792
- end
757
+ attributes << [:codeName, '{37E998C4-C9E5-D4B9-71C8-EB1FF731991C}'] if @vba_project
793
758
 
794
759
  @writer.empty_tag('fileVersion', attributes)
795
760
  end
@@ -798,14 +763,14 @@ module Writexlsx
798
763
  # Write the <fileSharing> element.
799
764
  #
800
765
  def write_file_sharing
801
- return if !ptrue?(@read_only)
766
+ return unless ptrue?(@read_only)
802
767
 
803
768
  attributes = []
804
769
  attributes << ['readOnlyRecommended', 1]
805
770
  @writer.empty_tag('fileSharing', attributes)
806
771
  end
807
772
 
808
- def write_workbook_pr #:nodoc:
773
+ def write_workbook_pr # :nodoc:
809
774
  attributes = []
810
775
  attributes << ['codeName', @vba_codename] if ptrue?(@vba_codename)
811
776
  attributes << ['date1904', 1] if date_1904?
@@ -813,38 +778,32 @@ module Writexlsx
813
778
  @writer.empty_tag('workbookPr', attributes)
814
779
  end
815
780
 
816
- def write_book_views #:nodoc:
781
+ def write_book_views # :nodoc:
817
782
  @writer.tag_elements('bookViews') { write_workbook_view }
818
783
  end
819
784
 
820
- def write_workbook_view #:nodoc:
785
+ def write_workbook_view # :nodoc:
821
786
  attributes = [
822
787
  ['xWindow', @x_window],
823
788
  ['yWindow', @y_window],
824
789
  ['windowWidth', @window_width],
825
790
  ['windowHeight', @window_height]
826
791
  ]
827
- if @tab_ratio != 600
828
- attributes << ['tabRatio', @tab_ratio]
829
- end
830
- if @firstsheet > 0
831
- attributes << ['firstSheet', @firstsheet + 1]
832
- end
833
- if @activesheet > 0
834
- attributes << ['activeTab', @activesheet]
835
- end
792
+ attributes << ['tabRatio', @tab_ratio] if @tab_ratio != 600
793
+ attributes << ['firstSheet', @firstsheet + 1] if @firstsheet > 0
794
+ attributes << ['activeTab', @activesheet] if @activesheet > 0
836
795
  @writer.empty_tag('workbookView', attributes)
837
796
  end
838
797
 
839
- def write_calc_pr #:nodoc:
840
- attributes = [ ['calcId', @calc_id] ]
798
+ def write_calc_pr # :nodoc:
799
+ attributes = [['calcId', @calc_id]]
841
800
 
842
801
  case @calc_mode
843
802
  when 'manual'
844
- attributes << ['calcMode', 'manual']
803
+ attributes << %w[calcMode manual]
845
804
  attributes << ['calcOnSave', 0]
846
805
  when 'autoNoTable'
847
- attributes << ['calcMode', 'autoNoTable']
806
+ attributes << %w[calcMode autoNoTable]
848
807
  end
849
808
 
850
809
  attributes << ['fullCalcOnLoad', 1] if @calc_on_load
@@ -852,11 +811,11 @@ module Writexlsx
852
811
  @writer.empty_tag('calcPr', attributes)
853
812
  end
854
813
 
855
- def write_ext_lst #:nodoc:
814
+ def write_ext_lst # :nodoc:
856
815
  @writer.tag_elements('extLst') { write_ext }
857
816
  end
858
817
 
859
- def write_ext #:nodoc:
818
+ def write_ext # :nodoc:
860
819
  attributes = [
861
820
  ['xmlns:mx', "#{OFFICE_URL}mac/excel/2008/main"],
862
821
  ['uri', uri]
@@ -864,41 +823,42 @@ module Writexlsx
864
823
  @writer.tag_elements('ext', attributes) { write_mx_arch_id }
865
824
  end
866
825
 
867
- def write_mx_arch_id #:nodoc:
826
+ def write_mx_arch_id # :nodoc:
868
827
  @writer.empty_tag('mx:ArchID', ['Flags', 2])
869
828
  end
870
829
 
871
- def write_defined_names #:nodoc:
830
+ def write_defined_names # :nodoc:
872
831
  return unless ptrue?(@defined_names)
832
+
873
833
  @writer.tag_elements('definedNames') do
874
834
  @defined_names.each { |defined_name| write_defined_name(defined_name) }
875
835
  end
876
836
  end
877
837
 
878
- def write_defined_name(defined_name) #:nodoc:
838
+ def write_defined_name(defined_name) # :nodoc:
879
839
  name, id, range, hidden = defined_name
880
840
 
881
- attributes = [ ['name', name] ]
841
+ attributes = [['name', name]]
882
842
  attributes << ['localSheetId', "#{id}"] unless id == -1
883
- attributes << ['hidden', '1'] if hidden
843
+ attributes << %w[hidden 1] if hidden
884
844
 
885
845
  @writer.data_element('definedName', range, attributes)
886
846
  end
887
847
 
888
- def write_io(str) #:nodoc:
848
+ def write_io(str) # :nodoc:
889
849
  @writer << str
890
850
  str
891
851
  end
892
852
 
893
853
  # for test
894
- def defined_names #:nodoc:
854
+ def defined_names # :nodoc:
895
855
  @defined_names ||= []
896
856
  end
897
857
 
898
858
  #
899
859
  # Assemble worksheets into a workbook.
900
860
  #
901
- def store_workbook #:nodoc:
861
+ def store_workbook # :nodoc:
902
862
  # Add a default worksheet if non have been added.
903
863
  add_worksheet if @worksheets.empty?
904
864
 
@@ -909,6 +869,9 @@ module Writexlsx
909
869
  @activesheet = @worksheets.visible_first.index if @activesheet == 0
910
870
  @worksheets[@activesheet].activate
911
871
 
872
+ # Convert the SST strings data structure.
873
+ prepare_sst_string_data
874
+
912
875
  # Prepare the worksheet VML elements such as comments and buttons.
913
876
  prepare_vml_objects
914
877
  # Set the defined names for the worksheets such as Print Titles.
@@ -954,13 +917,18 @@ module Writexlsx
954
917
  # files
955
918
  #
956
919
  def parts
957
- Dir.glob(File.join(tempdir, "**", "*"), File::FNM_DOTMATCH).select {|f| File.file?(f)}
920
+ Dir.glob(File.join(tempdir, "**", "*"), File::FNM_DOTMATCH).select { |f| File.file?(f) }
958
921
  end
959
922
 
923
+ #
924
+ # prepare_sst_string_data
925
+ #
926
+ def prepare_sst_string_data; end
927
+
960
928
  #
961
929
  # Prepare all of the format properties prior to passing them to Styles.rb.
962
930
  #
963
- def prepare_format_properties #:nodoc:
931
+ def prepare_format_properties # :nodoc:
964
932
  # Separate format objects into XF and DXF formats.
965
933
  prepare_formats
966
934
 
@@ -981,7 +949,7 @@ module Writexlsx
981
949
  # Iterate through the XF Format objects and separate them into XF and DXF
982
950
  # formats.
983
951
  #
984
- def prepare_formats #:nodoc:
952
+ def prepare_formats # :nodoc:
985
953
  @formats.formats.each do |format|
986
954
  xf_index = format.xf_index
987
955
  dxf_index = format.dxf_index
@@ -995,7 +963,7 @@ module Writexlsx
995
963
  # Iterate through the XF Format objects and give them an index to non-default
996
964
  # font elements.
997
965
  #
998
- def prepare_fonts #:nodoc:
966
+ def prepare_fonts # :nodoc:
999
967
  fonts = {}
1000
968
 
1001
969
  @xf_formats.each { |format| format.set_font_info(fonts) }
@@ -1006,9 +974,7 @@ module Writexlsx
1006
974
  @dxf_formats.each do |format|
1007
975
  # The only font properties that can change for a DXF format are: color,
1008
976
  # bold, italic, underline and strikethrough.
1009
- if format.color? || format.bold? || format.italic? || format.underline? || format.strikeout?
1010
- format.has_dxf_font(true)
1011
- end
977
+ format.has_dxf_font(true) if format.color? || format.bold? || format.italic? || format.underline? || format.strikeout?
1012
978
  end
1013
979
  end
1014
980
 
@@ -1018,10 +984,10 @@ module Writexlsx
1018
984
  #
1019
985
  # User defined records start from index 0xA4.
1020
986
  #
1021
- def prepare_num_formats #:nodoc:
1022
- num_formats = {}
1023
- index = 164
1024
- num_format_count = 0
987
+ def prepare_num_formats # :nodoc:
988
+ num_formats = []
989
+ unique_num_formats = {}
990
+ index = 164
1025
991
 
1026
992
  (@xf_formats + @dxf_formats).each do |format|
1027
993
  num_format = format.num_format
@@ -1032,9 +998,7 @@ module Writexlsx
1032
998
  #
1033
999
  if num_format.to_s =~ /^\d+$/ && num_format.to_s !~ /^0+\d/
1034
1000
  # Number format '0' is indexed as 1 in Excel.
1035
- if num_format == 0
1036
- num_format = 1
1037
- end
1001
+ num_format = 1 if num_format == 0
1038
1002
  # Index to a built-in number format.
1039
1003
  format.num_format_index = num_format
1040
1004
  next
@@ -1044,28 +1008,29 @@ module Writexlsx
1044
1008
  next
1045
1009
  end
1046
1010
 
1047
- if num_formats[num_format]
1011
+ if unique_num_formats[num_format]
1048
1012
  # Number format has already been used.
1049
- format.num_format_index = num_formats[num_format]
1013
+ format.num_format_index = unique_num_formats[num_format]
1050
1014
  else
1051
1015
  # Add a new number format.
1052
- num_formats[num_format] = index
1016
+ unique_num_formats[num_format] = index
1053
1017
  format.num_format_index = index
1054
1018
  index += 1
1055
1019
 
1056
- # Only increase font count for XF formats (not for DXF formats).
1057
- num_format_count += 1 if ptrue?(format.xf_index)
1020
+ # Only store/increase number format count for XF formats
1021
+ # (not for DXF formats).
1022
+ num_formats << num_format if ptrue?(format.xf_index)
1058
1023
  end
1059
1024
  end
1060
1025
 
1061
- @num_format_count = num_format_count
1026
+ @num_formats = num_formats
1062
1027
  end
1063
1028
 
1064
1029
  #
1065
1030
  # Iterate through the XF Format objects and give them an index to non-default
1066
1031
  # border elements.
1067
1032
  #
1068
- def prepare_borders #:nodoc:
1033
+ def prepare_borders # :nodoc:
1069
1034
  borders = {}
1070
1035
 
1071
1036
  @xf_formats.each { |format| format.set_border_info(borders) }
@@ -1086,7 +1051,7 @@ module Writexlsx
1086
1051
  # The user defined fill properties start from 2 since there are 2 default
1087
1052
  # fills: patternType="none" and patternType="gray125".
1088
1053
  #
1089
- def prepare_fills #:nodoc:
1054
+ def prepare_fills # :nodoc:
1090
1055
  fills = {}
1091
1056
  index = 2 # Start from 2. See above.
1092
1057
 
@@ -1096,11 +1061,11 @@ module Writexlsx
1096
1061
 
1097
1062
  # Store the DXF colors separately since them may be reversed below.
1098
1063
  @dxf_formats.each do |format|
1099
- if format.pattern != 0 || format.bg_color != 0 || format.fg_color != 0
1100
- format.has_dxf_fill(true)
1101
- format.dxf_bg_color = format.bg_color
1102
- format.dxf_fg_color = format.fg_color
1103
- end
1064
+ next unless format.pattern != 0 || format.bg_color != 0 || format.fg_color != 0
1065
+
1066
+ format.has_dxf_fill(true)
1067
+ format.dxf_bg_color = format.bg_color
1068
+ format.dxf_fg_color = format.fg_color
1104
1069
  end
1105
1070
 
1106
1071
  @xf_formats.each do |format|
@@ -1154,7 +1119,7 @@ module Writexlsx
1154
1119
  # any user defined names. Stores the defined names for the Workbook.xml and
1155
1120
  # the named ranges for App.xml.
1156
1121
  #
1157
- def prepare_defined_names #:nodoc:
1122
+ def prepare_defined_names # :nodoc:
1158
1123
  @worksheets.each do |sheet|
1159
1124
  # Check for Print Area settings.
1160
1125
  if sheet.autofilter_area
@@ -1167,7 +1132,7 @@ module Writexlsx
1167
1132
  end
1168
1133
 
1169
1134
  # Check for Print Area settings.
1170
- if !sheet.print_area.empty?
1135
+ unless sheet.print_area.empty?
1171
1136
  @defined_names << [
1172
1137
  '_xlnm.Print_Area',
1173
1138
  sheet.index,
@@ -1176,26 +1141,26 @@ module Writexlsx
1176
1141
  end
1177
1142
 
1178
1143
  # Check for repeat rows/cols. aka, Print Titles.
1179
- if !sheet.print_repeat_cols.empty? || !sheet.print_repeat_rows.empty?
1180
- if !sheet.print_repeat_cols.empty? && !sheet.print_repeat_rows.empty?
1181
- range = sheet.print_repeat_cols + ',' + sheet.print_repeat_rows
1182
- else
1183
- range = sheet.print_repeat_cols + sheet.print_repeat_rows
1184
- end
1144
+ next unless !sheet.print_repeat_cols.empty? || !sheet.print_repeat_rows.empty?
1185
1145
 
1186
- # Store the defined names.
1187
- @defined_names << ['_xlnm.Print_Titles', sheet.index, range]
1188
- end
1146
+ range = if !sheet.print_repeat_cols.empty? && !sheet.print_repeat_rows.empty?
1147
+ sheet.print_repeat_cols + ',' + sheet.print_repeat_rows
1148
+ else
1149
+ sheet.print_repeat_cols + sheet.print_repeat_rows
1150
+ end
1151
+
1152
+ # Store the defined names.
1153
+ @defined_names << ['_xlnm.Print_Titles', sheet.index, range]
1189
1154
  end
1190
1155
 
1191
- @defined_names = sort_defined_names(@defined_names)
1156
+ @defined_names = sort_defined_names(@defined_names)
1192
1157
  @named_ranges = extract_named_ranges(@defined_names)
1193
1158
  end
1194
1159
 
1195
1160
  #
1196
1161
  # Iterate through the worksheets and set up the VML objects.
1197
1162
  #
1198
- def prepare_vml_objects #:nodoc:
1163
+ def prepare_vml_objects # :nodoc:
1199
1164
  comment_id = 0
1200
1165
  vml_drawing_id = 0
1201
1166
  vml_data_id = 1
@@ -1206,6 +1171,7 @@ module Writexlsx
1206
1171
 
1207
1172
  @worksheets.each do |sheet|
1208
1173
  next if !sheet.has_vml? && !sheet.has_header_vml?
1174
+
1209
1175
  if sheet.has_vml?
1210
1176
  if sheet.has_comments?
1211
1177
  comment_files += 1
@@ -1220,8 +1186,8 @@ module Writexlsx
1220
1186
  )
1221
1187
 
1222
1188
  # Each VML file should start with a shape id incremented by 1024.
1223
- vml_data_id += 1 * ( 1 + sheet.num_comments_block )
1224
- vml_shape_id += 1024 * ( 1 + sheet.num_comments_block )
1189
+ vml_data_id += 1 * (1 + sheet.num_comments_block)
1190
+ vml_shape_id += 1024 * (1 + sheet.num_comments_block)
1225
1191
  end
1226
1192
 
1227
1193
  if sheet.has_header_vml?
@@ -1234,17 +1200,13 @@ module Writexlsx
1234
1200
  # has a vbaProject binary.
1235
1201
  unless sheet.buttons_data.empty?
1236
1202
  has_button = true
1237
- if @vba_project && !sheet.vba_codename
1238
- sheet.set_vba_name
1239
- end
1203
+ sheet.set_vba_name if @vba_project && !sheet.vba_codename
1240
1204
  end
1241
1205
  end
1242
1206
 
1243
1207
  # Set the workbook vba_codename if one of the sheets has a button and
1244
1208
  # the workbook has a vbaProject binary.
1245
- if has_button && @vba_project && !@vba_codename
1246
- set_vba_name
1247
- end
1209
+ set_vba_name if has_button && @vba_project && !@vba_codename
1248
1210
  end
1249
1211
 
1250
1212
  #
@@ -1275,7 +1237,7 @@ module Writexlsx
1275
1237
  # Add "cached" data to charts to provide the numCache and strCache data for
1276
1238
  # series and title/axis ranges.
1277
1239
  #
1278
- def add_chart_data #:nodoc:
1240
+ def add_chart_data # :nodoc:
1279
1241
  worksheets = {}
1280
1242
  seen_ranges = {}
1281
1243
 
@@ -1283,8 +1245,8 @@ module Writexlsx
1283
1245
  @worksheets.each { |worksheet| worksheets[worksheet.name] = worksheet }
1284
1246
 
1285
1247
  # Build an array of the worksheet charts including any combined charts.
1286
- @charts.collect { |chart| [chart, chart.combined] }.flatten.compact.
1287
- each do |chart|
1248
+ @charts.collect { |chart| [chart, chart.combined] }.flatten.compact
1249
+ .each do |chart|
1288
1250
  chart.formula_ids.each do |range, id|
1289
1251
  # Skip if the series has user defined data.
1290
1252
  if chart.formula_data[id]
@@ -1312,9 +1274,7 @@ module Writexlsx
1312
1274
 
1313
1275
  # Raise if the name is unknown since it indicates a user error in
1314
1276
  # a chart series formula.
1315
- unless worksheets[sheetname]
1316
- raise "Unknown worksheet reference '#{sheetname} in range '#{range}' passed to add_series()\n"
1317
- end
1277
+ raise "Unknown worksheet reference '#{sheetname} in range '#{range}' passed to add_series()\n" unless worksheets[sheetname]
1318
1278
 
1319
1279
  # Add the data to the chart.
1320
1280
  # And store range data locally to avoid lookup if seen agein.
@@ -1330,11 +1290,11 @@ module Writexlsx
1330
1290
 
1331
1291
  # Convert shared string indexes to strings.
1332
1292
  data.collect do |token|
1333
- if token.kind_of?(Hash)
1293
+ if token.is_a?(Hash)
1334
1294
  string = @shared_strings.string(token[:sst_id])
1335
1295
 
1336
1296
  # Ignore rich strings for now. Deparse later if necessary.
1337
- if string =~ %r!^<r>! && string =~ %r!</r>$!
1297
+ if string =~ /^<r>/ && string =~ %r{</r>$}
1338
1298
  ''
1339
1299
  else
1340
1300
  string
@@ -1351,7 +1311,7 @@ module Writexlsx
1351
1311
  # issues in the the Spreadsheet::WriteExcel binary version. Also makes
1352
1312
  # comparison testing easier.
1353
1313
  #
1354
- def sort_defined_names(names) #:nodoc:
1314
+ def sort_defined_names(names) # :nodoc:
1355
1315
  names.sort do |a, b|
1356
1316
  name_a = normalise_defined_name(a[0])
1357
1317
  name_b = normalise_defined_name(b[0])
@@ -1362,26 +1322,24 @@ module Writexlsx
1362
1322
  1
1363
1323
  elsif name_a < name_b
1364
1324
  -1
1365
- else # name_a == name_b
1366
- # Secondary sort based on the sheet name.
1367
- if sheet_a >= sheet_b
1368
- 1
1369
- else
1370
- -1
1371
- end
1325
+ elsif sheet_a >= sheet_b # name_a == name_b
1326
+ # Secondary sort based on the sheet name.
1327
+ 1
1328
+ else
1329
+ -1
1372
1330
  end
1373
1331
  end
1374
1332
  end
1375
1333
 
1376
1334
  # Used in the above sort routine to normalise the defined names. Removes any
1377
1335
  # leading '_xmln.' from internal names and lowercases the strings.
1378
- def normalise_defined_name(name) #:nodoc:
1336
+ def normalise_defined_name(name) # :nodoc:
1379
1337
  name.sub(/^_xlnm./, '').downcase
1380
1338
  end
1381
1339
 
1382
1340
  # Used in the above sort routine to normalise the worksheet names for the
1383
1341
  # secondary sort. Removes leading quote and lowercases the strings.
1384
- def normalise_sheet_name(name) #:nodoc:
1342
+ def normalise_sheet_name(name) # :nodoc:
1385
1343
  name.sub(/^'/, '').downcase
1386
1344
  end
1387
1345
 
@@ -1389,7 +1347,7 @@ module Writexlsx
1389
1347
  # Extract the named ranges from the sorted list of defined names. These are
1390
1348
  # used in the App.xml file.
1391
1349
  #
1392
- def extract_named_ranges(defined_names) #:nodoc:
1350
+ def extract_named_ranges(defined_names) # :nodoc:
1393
1351
  named_ranges = []
1394
1352
 
1395
1353
  defined_names.each do |defined_name|
@@ -1399,19 +1357,19 @@ module Writexlsx
1399
1357
  next if name == '_xlnm._FilterDatabase'
1400
1358
 
1401
1359
  # We are only interested in defined names with ranges.
1402
- if range =~ /^([^!]+)!/
1403
- sheet_name = $1
1404
-
1405
- # Match Print_Area and Print_Titles xlnm types.
1406
- if name =~ /^_xlnm\.(.*)$/
1407
- xlnm_type = $1
1408
- name = "#{sheet_name}!#{xlnm_type}"
1409
- elsif index != -1
1410
- name = "#{sheet_name}!#{name}"
1411
- end
1360
+ next unless range =~ /^([^!]+)!/
1361
+
1362
+ sheet_name = ::Regexp.last_match(1)
1412
1363
 
1413
- named_ranges << name
1364
+ # Match Print_Area and Print_Titles xlnm types.
1365
+ if name =~ /^_xlnm\.(.*)$/
1366
+ xlnm_type = ::Regexp.last_match(1)
1367
+ name = "#{sheet_name}!#{xlnm_type}"
1368
+ elsif index != -1
1369
+ name = "#{sheet_name}!#{name}"
1414
1370
  end
1371
+
1372
+ named_ranges << name
1415
1373
  end
1416
1374
 
1417
1375
  named_ranges
@@ -1420,7 +1378,7 @@ module Writexlsx
1420
1378
  #
1421
1379
  # Iterate through the worksheets and set up any chart or image drawings.
1422
1380
  #
1423
- def prepare_drawings #:nodoc:
1381
+ def prepare_drawings # :nodoc:
1424
1382
  chart_ref_id = 0
1425
1383
  image_ref_id = 0
1426
1384
  drawing_id = 0
@@ -1481,13 +1439,13 @@ module Writexlsx
1481
1439
  end
1482
1440
 
1483
1441
  # Prepare the worksheet charts.
1484
- sheet.charts.each_with_index do |chart, index|
1442
+ sheet.charts.each_with_index do |_chart, index|
1485
1443
  chart_ref_id += 1
1486
1444
  sheet.prepare_chart(index, chart_ref_id, drawing_id)
1487
1445
  end
1488
1446
 
1489
1447
  # Prepare the worksheet shapes.
1490
- sheet.shapes.each_with_index do |shape, index|
1448
+ sheet.shapes.each_with_index do |_shape, index|
1491
1449
  sheet.prepare_shape(index, drawing_id)
1492
1450
  end
1493
1451
 
@@ -1543,8 +1501,8 @@ module Writexlsx
1543
1501
 
1544
1502
  # Sort the workbook charts references into the order that the were
1545
1503
  # written from the worksheets above.
1546
- @charts = @charts.select { |chart| chart.id != -1 }.
1547
- sort_by { |chart| chart.id }
1504
+ @charts = @charts.select { |chart| chart.id != -1 }
1505
+ .sort_by { |chart| chart.id }
1548
1506
 
1549
1507
  @drawing_count = drawing_id
1550
1508
  end
@@ -1562,19 +1520,19 @@ module Writexlsx
1562
1520
  # Open the image file and import the data.
1563
1521
  data = File.binread(filename)
1564
1522
  md5 = Digest::MD5.hexdigest(data)
1565
- if data.unpack('x A3')[0] == 'PNG'
1523
+ if data.unpack1('x A3') == 'PNG'
1566
1524
  # Test for PNGs.
1567
1525
  type, width, height, x_dpi, y_dpi = process_png(data)
1568
1526
  @image_types[:png] = 1
1569
- elsif data.unpack('n')[0] == 0xFFD8
1527
+ elsif data.unpack1('n') == 0xFFD8
1570
1528
  # Test for JPEG files.
1571
1529
  type, width, height, x_dpi, y_dpi = process_jpg(data, filename)
1572
1530
  @image_types[:jpeg] = 1
1573
- elsif data.unpack('A4')[0] == 'GIF8'
1531
+ elsif data.unpack1('A4') == 'GIF8'
1574
1532
  # Test for GIFs.
1575
1533
  type, width, height, x_dpi, y_dpi = process_gif(data, filename)
1576
1534
  @image_types[:gif] = 1
1577
- elsif data.unpack('A2')[0] == 'BM'
1535
+ elsif data.unpack1('A2') == 'BM'
1578
1536
  # Test for BMPs.
1579
1537
  type, width, height = process_bmp(data, filename)
1580
1538
  @image_types[:bmp] = 1
@@ -1607,17 +1565,17 @@ module Writexlsx
1607
1565
  # IHDR element. Also read the DPI in the pHYs element.
1608
1566
  while offset < data_length
1609
1567
 
1610
- length = data[offset + 0, 4].unpack("N")[0]
1611
- png_type = data[offset + 4, 4].unpack("A4")[0]
1568
+ length = data[offset + 0, 4].unpack1("N")
1569
+ png_type = data[offset + 4, 4].unpack1("A4")
1612
1570
 
1613
1571
  case png_type
1614
1572
  when "IHDR"
1615
- width = data[offset + 8, 4].unpack("N")[0]
1616
- height = data[offset + 12, 4].unpack("N")[0]
1573
+ width = data[offset + 8, 4].unpack1("N")
1574
+ height = data[offset + 12, 4].unpack1("N")
1617
1575
  when "pHYs"
1618
- x_ppu = data[offset + 8, 4].unpack("N")[0]
1619
- y_ppu = data[offset + 12, 4].unpack("N")[0]
1620
- units = data[offset + 16, 1].unpack("C")[0]
1576
+ x_ppu = data[offset + 8, 4].unpack1("N")
1577
+ y_ppu = data[offset + 12, 4].unpack1("N")
1578
+ units = data[offset + 16, 1].unpack1("C")
1621
1579
 
1622
1580
  if units == 1
1623
1581
  x_dpi = x_ppu * 0.0254
@@ -1644,22 +1602,22 @@ module Writexlsx
1644
1602
 
1645
1603
  # Search through the image data to read the JPEG markers.
1646
1604
  while offset < data_length
1647
- marker = data[offset+0, 2].unpack("n")[0]
1648
- length = data[offset+2, 2].unpack("n")[0]
1605
+ marker = data[offset + 0, 2].unpack1("n")
1606
+ length = data[offset + 2, 2].unpack1("n")
1649
1607
 
1650
1608
  # Read the height and width in the 0xFFCn elements
1651
1609
  # (Except C4, C8 and CC which aren't SOF markers).
1652
1610
  if (marker & 0xFFF0) == 0xFFC0 &&
1653
1611
  marker != 0xFFC4 && marker != 0xFFCC
1654
- height = data[offset+5, 2].unpack("n")[0]
1655
- width = data[offset+7, 2].unpack("n")[0]
1612
+ height = data[offset + 5, 2].unpack1("n")
1613
+ width = data[offset + 7, 2].unpack1("n")
1656
1614
  end
1657
1615
 
1658
1616
  # Read the DPI in the 0xFFE0 element.
1659
1617
  if marker == 0xFFE0
1660
- units = data[offset + 11, 1].unpack("C")[0]
1661
- x_density = data[offset + 12, 2].unpack("n")[0]
1662
- y_density = data[offset + 14, 2].unpack("n")[0]
1618
+ units = data[offset + 11, 1].unpack1("C")
1619
+ x_density = data[offset + 12, 2].unpack1("n")
1620
+ y_density = data[offset + 14, 2].unpack1("n")
1663
1621
 
1664
1622
  if units == 1
1665
1623
  x_dpi = x_density
@@ -1675,6 +1633,7 @@ module Writexlsx
1675
1633
  end
1676
1634
 
1677
1635
  raise "#{filename}: no size data found in jpeg image.\n" unless height
1636
+
1678
1637
  [type, width, height, x_dpi, y_dpi]
1679
1638
  end
1680
1639
 
@@ -1686,18 +1645,16 @@ module Writexlsx
1686
1645
  x_dpi = 96
1687
1646
  y_dpi = 96
1688
1647
 
1689
- width = data[6, 2].unpack("v")[0]
1690
- height = data[8, 2].unpack("v")[0]
1648
+ width = data[6, 2].unpack1("v")
1649
+ height = data[8, 2].unpack1("v")
1691
1650
 
1692
- if height.nil?
1693
- raise "#{filename}: no size data found in gif image.\n"
1694
- end
1651
+ raise "#{filename}: no size data found in gif image.\n" if height.nil?
1695
1652
 
1696
1653
  [type, width, height, x_dpi, y_dpi]
1697
1654
  end
1698
1655
 
1699
1656
  # Extract width and height information from a BMP file.
1700
- def process_bmp(data, filename) #:nodoc:
1657
+ def process_bmp(data, filename) # :nodoc:
1701
1658
  type = 'bmp'
1702
1659
 
1703
1660
  # Check that the file is big enough to be a bitmap.
@@ -1714,8 +1671,9 @@ module Writexlsx
1714
1671
  raise "#{filename}: only 1 plane supported in bitmap image." unless planes == 1
1715
1672
 
1716
1673
  # Read the bitmap compression. Verify compression.
1717
- compression = data.unpack("x30 V")[0]
1674
+ compression = data.unpack1("x30 V")
1718
1675
  raise "#{filename}: compression not supported in bitmap image." unless compression == 0
1676
+
1719
1677
  [type, width, height]
1720
1678
  end
1721
1679
  end