write_xlsx 1.09.3 → 1.11.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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