write_xlsx 0.89.0 → 1.01.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/Changes +98 -0
  4. data/LICENSE.txt +1 -1
  5. data/README.md +2 -2
  6. data/examples/a_simple.rb +2 -7
  7. data/examples/add_vba_project.rb +1 -1
  8. data/examples/array_formula.rb +1 -1
  9. data/examples/chart_area.rb +5 -2
  10. data/examples/chart_bar.rb +5 -2
  11. data/examples/chart_clustered.rb +1 -1
  12. data/examples/chart_column.rb +5 -2
  13. data/examples/chart_combined.rb +1 -1
  14. data/examples/chart_data_table.rb +9 -3
  15. data/examples/chart_data_tools.rb +25 -7
  16. data/examples/chart_doughnut.rb +17 -5
  17. data/examples/chart_gauge.rb +73 -0
  18. data/examples/chart_line.rb +5 -2
  19. data/examples/chart_pareto.rb +1 -1
  20. data/examples/chart_pie.rb +9 -3
  21. data/examples/chart_radar.rb +13 -4
  22. data/examples/chart_scatter.rb +5 -2
  23. data/examples/chart_secondary_axis.rb +5 -2
  24. data/examples/chart_stock.rb +1 -1
  25. data/examples/chart_styles.rb +1 -1
  26. data/examples/colors.rb +1 -1
  27. data/examples/conditional_format.rb +73 -46
  28. data/examples/data_validate.rb +1 -1
  29. data/examples/date_time.rb +1 -1
  30. data/examples/demo.rb +5 -8
  31. data/examples/formats.rb +1 -1
  32. data/examples/headers.rb +1 -1
  33. data/examples/hide_row_col.rb +1 -1
  34. data/examples/hide_sheet.rb +1 -1
  35. data/examples/hyperlink1.rb +5 -12
  36. data/examples/indent.rb +1 -1
  37. data/examples/macros.rb +1 -1
  38. data/examples/merge1.rb +1 -1
  39. data/examples/merge2.rb +1 -1
  40. data/examples/merge3.rb +1 -1
  41. data/examples/merge4.rb +1 -1
  42. data/examples/merge5.rb +1 -1
  43. data/examples/merge6.rb +1 -1
  44. data/examples/outline.rb +1 -1
  45. data/examples/outline_collapsed.rb +1 -1
  46. data/examples/panes.rb +1 -1
  47. data/examples/properties.rb +1 -1
  48. data/examples/regions.rb +1 -1
  49. data/examples/rich_strings.rb +1 -1
  50. data/examples/right_to_left.rb +1 -1
  51. data/examples/shape1.rb +1 -1
  52. data/examples/shape2.rb +1 -1
  53. data/examples/shape3.rb +1 -1
  54. data/examples/shape4.rb +1 -1
  55. data/examples/shape5.rb +1 -1
  56. data/examples/shape6.rb +1 -1
  57. data/examples/shape7.rb +1 -1
  58. data/examples/shape8.rb +1 -1
  59. data/examples/shape_all.rb +1 -1
  60. data/examples/sparklines1.rb +1 -1
  61. data/examples/sparklines2.rb +1 -1
  62. data/examples/stats.rb +1 -1
  63. data/examples/stats_ext.rb +1 -1
  64. data/examples/stocks.rb +1 -1
  65. data/examples/tab_colors.rb +1 -1
  66. data/examples/tables.rb +1 -1
  67. data/lib/write_xlsx/chart.rb +124 -240
  68. data/lib/write_xlsx/chart/area.rb +1 -1
  69. data/lib/write_xlsx/chart/axis.rb +4 -4
  70. data/lib/write_xlsx/chart/bar.rb +1 -1
  71. data/lib/write_xlsx/chart/caption.rb +3 -1
  72. data/lib/write_xlsx/chart/column.rb +1 -1
  73. data/lib/write_xlsx/chart/doughnut.rb +1 -1
  74. data/lib/write_xlsx/chart/legend.rb +14 -0
  75. data/lib/write_xlsx/chart/line.rb +1 -1
  76. data/lib/write_xlsx/chart/pie.rb +32 -15
  77. data/lib/write_xlsx/chart/radar.rb +1 -1
  78. data/lib/write_xlsx/chart/scatter.rb +1 -1
  79. data/lib/write_xlsx/chart/series.rb +11 -7
  80. data/lib/write_xlsx/chart/stock.rb +1 -1
  81. data/lib/write_xlsx/chartsheet.rb +35 -7
  82. data/lib/write_xlsx/drawing.rb +28 -8
  83. data/lib/write_xlsx/format.rb +19 -15
  84. data/lib/write_xlsx/package/comments.rb +57 -54
  85. data/lib/write_xlsx/package/conditional_format.rb +360 -39
  86. data/lib/write_xlsx/package/content_types.rb +10 -0
  87. data/lib/write_xlsx/package/core.rb +8 -6
  88. data/lib/write_xlsx/package/custom.rb +125 -0
  89. data/lib/write_xlsx/package/packager.rb +26 -0
  90. data/lib/write_xlsx/package/styles.rb +53 -21
  91. data/lib/write_xlsx/package/table.rb +16 -4
  92. data/lib/write_xlsx/shape.rb +4 -3
  93. data/lib/write_xlsx/sheets.rb +11 -1
  94. data/lib/write_xlsx/sparkline.rb +1 -1
  95. data/lib/write_xlsx/utility.rb +305 -35
  96. data/lib/write_xlsx/version.rb +1 -1
  97. data/lib/write_xlsx/workbook.rb +132 -12
  98. data/lib/write_xlsx/worksheet.rb +397 -163
  99. data/lib/write_xlsx/worksheet/data_validation.rb +10 -14
  100. data/lib/write_xlsx/worksheet/hyperlink.rb +4 -13
  101. data/test/chart/test_write_legend_pos.rb +9 -1
  102. data/test/chartsheet/test_write_sheet_protection.rb +91 -0
  103. data/test/drawing/test_drawing_chart_01.rb +6 -2
  104. data/test/drawing/test_drawing_image_01.rb +12 -3
  105. data/test/drawing/test_drawing_shape_01.rb +8 -5
  106. data/test/drawing/test_drawing_shape_02.rb +12 -5
  107. data/test/drawing/test_drawing_shape_03.rb +8 -5
  108. data/test/drawing/test_drawing_shape_04.rb +8 -24
  109. data/test/drawing/test_drawing_shape_05.rb +8 -5
  110. data/test/drawing/test_drawing_shape_06.rb +11 -6
  111. data/test/drawing/test_drawing_shape_07.rb +11 -6
  112. data/test/drawing/test_write_a_graphic_frame_locks.rb +1 -1
  113. data/test/drawing/test_write_c_chart.rb +1 -1
  114. data/test/drawing/test_write_c_nv_graphic_frame_pr.rb +1 -1
  115. data/test/drawing/test_write_c_nv_pr.rb +1 -1
  116. data/test/drawing/test_write_col.rb +1 -1
  117. data/test/drawing/test_write_col_off.rb +1 -1
  118. data/test/drawing/test_write_ext.rb +1 -1
  119. data/test/drawing/test_write_pos.rb +1 -1
  120. data/test/drawing/test_write_row.rb +1 -1
  121. data/test/drawing/test_write_row_off.rb +1 -1
  122. data/test/drawing/test_write_xfrm_extension.rb +1 -1
  123. data/test/drawing/test_write_xfrm_offset.rb +1 -1
  124. data/test/helper.rb +6 -1
  125. data/test/package/comments/test_comments_01.rb +54 -0
  126. data/test/package/comments/test_comments_02.rb +54 -0
  127. data/test/perl_output/chart_gauge.xlsx +0 -0
  128. data/test/perl_output/formats.xlsx +0 -0
  129. data/test/regression/_test_hyperlink31.rb +26 -0
  130. data/test/regression/images/happy.jpg +0 -0
  131. data/test/regression/images/zero_dpi.jpg +0 -0
  132. data/test/regression/test_array_formula03.rb +36 -0
  133. data/test/regression/test_autofilter08.rb +110 -0
  134. data/test/regression/test_autofilter09.rb +110 -0
  135. data/test/regression/test_autofilter10.rb +110 -0
  136. data/test/regression/test_chart_axis26.rb +10 -8
  137. data/test/regression/test_chart_axis27.rb +1 -1
  138. data/test/regression/test_chart_axis28.rb +1 -1
  139. data/test/regression/test_chart_axis29.rb +1 -1
  140. data/test/regression/test_chart_axis33.rb +1 -1
  141. data/test/regression/test_chart_axis42.rb +44 -0
  142. data/test/regression/test_chart_axis43.rb +44 -0
  143. data/test/regression/test_chart_axis44.rb +54 -0
  144. data/test/regression/test_chart_axis45.rb +54 -0
  145. data/test/regression/test_chart_axis46.rb +54 -0
  146. data/test/regression/test_chart_bar08.rb +3 -0
  147. data/test/regression/test_chart_bar11.rb +3 -0
  148. data/test/regression/test_chart_bar14.rb +3 -0
  149. data/test/regression/test_chart_chartarea05.rb +16 -17
  150. data/test/regression/test_chart_chartarea06.rb +49 -0
  151. data/test/regression/test_chart_combined10.rb +43 -0
  152. data/test/regression/test_chart_combined11.rb +63 -0
  153. data/test/regression/test_chart_data_labels25.rb +61 -0
  154. data/test/regression/test_chart_doughnut07.rb +37 -0
  155. data/test/regression/test_chart_font09.rb +1 -1
  156. data/test/regression/test_chart_format26.rb +48 -0
  157. data/test/regression/test_chart_format27.rb +58 -0
  158. data/test/regression/test_chart_format28.rb +52 -0
  159. data/test/regression/test_chart_format29.rb +59 -0
  160. data/test/regression/test_chart_format30.rb +53 -0
  161. data/test/regression/test_chart_format31.rb +60 -0
  162. data/test/regression/test_chart_legend03.rb +41 -0
  163. data/test/regression/test_chart_legend04.rb +41 -0
  164. data/test/regression/test_chart_legend05.rb +41 -0
  165. data/test/regression/test_chart_legend06.rb +41 -0
  166. data/test/regression/test_chart_legend07.rb +38 -0
  167. data/test/regression/test_chart_size03.rb +4 -1
  168. data/test/regression/test_chart_table03.rb +56 -0
  169. data/test/regression/test_comment13.rb +36 -0
  170. data/test/regression/test_comment14.rb +29 -0
  171. data/test/regression/test_cond_format14.rb +42 -0
  172. data/test/regression/test_cond_format15.rb +53 -0
  173. data/test/regression/test_cond_format16.rb +53 -0
  174. data/test/regression/test_cond_format17.rb +37 -0
  175. data/test/regression/test_cond_format18.rb +136 -0
  176. data/test/regression/test_cond_format19.rb +64 -0
  177. data/test/regression/test_cond_format20.rb +43 -0
  178. data/test/regression/test_date_1904_01.rb +1 -1
  179. data/test/regression/test_escapes04.rb +3 -0
  180. data/test/regression/test_escapes05.rb +3 -0
  181. data/test/regression/test_escapes07.rb +3 -0
  182. data/test/regression/test_escapes08.rb +3 -0
  183. data/test/regression/test_format15.rb +26 -0
  184. data/test/regression/test_hyperlink01.rb +3 -0
  185. data/test/regression/test_hyperlink02.rb +3 -0
  186. data/test/regression/test_hyperlink03.rb +4 -0
  187. data/test/regression/test_hyperlink04.rb +3 -0
  188. data/test/regression/test_hyperlink05.rb +3 -0
  189. data/test/regression/test_hyperlink06.rb +3 -0
  190. data/test/regression/test_hyperlink07.rb +3 -0
  191. data/test/regression/test_hyperlink08.rb +3 -0
  192. data/test/regression/test_hyperlink09.rb +3 -0
  193. data/test/regression/test_hyperlink10.rb +3 -0
  194. data/test/regression/test_hyperlink11.rb +3 -0
  195. data/test/regression/test_hyperlink12.rb +3 -0
  196. data/test/regression/test_hyperlink13.rb +3 -0
  197. data/test/regression/test_hyperlink14.rb +3 -0
  198. data/test/regression/test_hyperlink15.rb +3 -0
  199. data/test/regression/test_hyperlink16.rb +3 -0
  200. data/test/regression/test_hyperlink17.rb +3 -0
  201. data/test/regression/test_hyperlink18.rb +3 -0
  202. data/test/regression/test_hyperlink20.rb +3 -0
  203. data/test/regression/test_hyperlink21.rb +3 -0
  204. data/test/regression/test_hyperlink22.rb +3 -0
  205. data/test/regression/test_hyperlink23.rb +3 -0
  206. data/test/regression/test_hyperlink24.rb +3 -0
  207. data/test/regression/test_hyperlink25.rb +3 -0
  208. data/test/regression/test_hyperlink26.rb +3 -0
  209. data/test/regression/test_hyperlink27.rb +27 -0
  210. data/test/regression/test_hyperlink28.rb +50 -0
  211. data/test/regression/test_hyperlink29.rb +27 -0
  212. data/test/regression/test_hyperlink30.rb +36 -0
  213. data/test/regression/test_image08.rb +5 -4
  214. data/test/regression/test_image15.rb +4 -2
  215. data/test/regression/test_image28.rb +1 -1
  216. data/test/regression/test_image35.rb +26 -0
  217. data/test/regression/test_image36.rb +26 -0
  218. data/test/regression/test_image44.rb +28 -0
  219. data/test/regression/test_image45.rb +28 -0
  220. data/test/regression/test_image46.rb +29 -0
  221. data/test/regression/test_image47.rb +28 -0
  222. data/test/regression/test_object_position01.rb +26 -0
  223. data/test/regression/test_object_position02.rb +26 -0
  224. data/test/regression/test_object_position03.rb +26 -0
  225. data/test/regression/test_object_position04.rb +44 -0
  226. data/test/regression/test_object_position06.rb +28 -0
  227. data/test/regression/test_object_position07.rb +28 -0
  228. data/test/regression/test_object_position08.rb +47 -0
  229. data/test/regression/test_object_position09.rb +50 -0
  230. data/test/regression/test_object_position10.rb +28 -0
  231. data/test/regression/test_properties01.rb +1 -4
  232. data/test/regression/test_properties02.rb +1 -4
  233. data/test/regression/test_properties03.rb +26 -0
  234. data/test/regression/test_properties04.rb +61 -0
  235. data/test/regression/test_properties05.rb +30 -0
  236. data/test/regression/test_shape_connect01.rb +4 -2
  237. data/test/regression/test_table03.rb +3 -0
  238. data/test/regression/test_table04.rb +3 -0
  239. data/test/regression/test_table05.rb +3 -0
  240. data/test/regression/test_table06.rb +3 -0
  241. data/test/regression/test_table20.rb +34 -0
  242. data/test/regression/test_table21.rb +36 -0
  243. data/test/regression/test_table22.rb +32 -0
  244. data/test/regression/test_table23.rb +56 -0
  245. data/test/regression/test_utf8_11.rb +23 -0
  246. data/test/regression/xlsx_files/array_formula03.xlsx +0 -0
  247. data/test/regression/xlsx_files/autofilter08.xlsx +0 -0
  248. data/test/regression/xlsx_files/autofilter09.xlsx +0 -0
  249. data/test/regression/xlsx_files/autofilter10.xlsx +0 -0
  250. data/test/regression/xlsx_files/chart_axis26.xlsx +0 -0
  251. data/test/regression/xlsx_files/chart_axis27.xlsx +0 -0
  252. data/test/regression/xlsx_files/chart_axis28.xlsx +0 -0
  253. data/test/regression/xlsx_files/chart_axis29.xlsx +0 -0
  254. data/test/regression/xlsx_files/chart_axis33.xlsx +0 -0
  255. data/test/regression/xlsx_files/chart_axis42.xlsx +0 -0
  256. data/test/regression/xlsx_files/chart_axis43.xlsx +0 -0
  257. data/test/regression/xlsx_files/chart_axis44.xlsx +0 -0
  258. data/test/regression/xlsx_files/chart_axis45.xlsx +0 -0
  259. data/test/regression/xlsx_files/chart_axis46.xlsx +0 -0
  260. data/test/regression/xlsx_files/chart_chartarea05.xlsx +0 -0
  261. data/test/regression/xlsx_files/chart_chartarea06.xlsx +0 -0
  262. data/test/regression/xlsx_files/chart_combined10.xlsx +0 -0
  263. data/test/regression/xlsx_files/chart_combined11.xlsx +0 -0
  264. data/test/regression/xlsx_files/chart_data_labels25.xlsx +0 -0
  265. data/test/regression/xlsx_files/chart_doughnut07.xlsx +0 -0
  266. data/test/regression/xlsx_files/chart_font09.xlsx +0 -0
  267. data/test/regression/xlsx_files/chart_format26.xlsx +0 -0
  268. data/test/regression/xlsx_files/chart_format27.xlsx +0 -0
  269. data/test/regression/xlsx_files/chart_format28.xlsx +0 -0
  270. data/test/regression/xlsx_files/chart_format29.xlsx +0 -0
  271. data/test/regression/xlsx_files/chart_format30.xlsx +0 -0
  272. data/test/regression/xlsx_files/chart_format31.xlsx +0 -0
  273. data/test/regression/xlsx_files/chart_legend03.xlsx +0 -0
  274. data/test/regression/xlsx_files/chart_legend04.xlsx +0 -0
  275. data/test/regression/xlsx_files/chart_legend05.xlsx +0 -0
  276. data/test/regression/xlsx_files/chart_legend06.xlsx +0 -0
  277. data/test/regression/xlsx_files/chart_legend07.xlsx +0 -0
  278. data/test/regression/xlsx_files/chart_table03.xlsx +0 -0
  279. data/test/regression/xlsx_files/comment13.xlsx +0 -0
  280. data/test/regression/xlsx_files/comment14.xlsx +0 -0
  281. data/test/regression/xlsx_files/cond_format14.xlsx +0 -0
  282. data/test/regression/xlsx_files/cond_format15.xlsx +0 -0
  283. data/test/regression/xlsx_files/cond_format16.xlsx +0 -0
  284. data/test/regression/xlsx_files/cond_format17.xlsx +0 -0
  285. data/test/regression/xlsx_files/cond_format18.xlsx +0 -0
  286. data/test/regression/xlsx_files/cond_format19.xlsx +0 -0
  287. data/test/regression/xlsx_files/cond_format20.xlsx +0 -0
  288. data/test/regression/xlsx_files/date_1904_01.xlsx +0 -0
  289. data/test/regression/xlsx_files/format15.xlsx +0 -0
  290. data/test/regression/xlsx_files/hyperlink27.xlsx +0 -0
  291. data/test/regression/xlsx_files/hyperlink28.xlsx +0 -0
  292. data/test/regression/xlsx_files/hyperlink29.xlsx +0 -0
  293. data/test/regression/xlsx_files/hyperlink30.xlsx +0 -0
  294. data/test/regression/xlsx_files/hyperlink31.xlsx +0 -0
  295. data/test/regression/xlsx_files/image35.xlsx +0 -0
  296. data/test/regression/xlsx_files/image36.xlsx +0 -0
  297. data/test/regression/xlsx_files/image44.xlsx +0 -0
  298. data/test/regression/xlsx_files/image45.xlsx +0 -0
  299. data/test/regression/xlsx_files/image46.xlsx +0 -0
  300. data/test/regression/xlsx_files/image47.xlsx +0 -0
  301. data/test/regression/xlsx_files/object_position01.xlsx +0 -0
  302. data/test/regression/xlsx_files/object_position02.xlsx +0 -0
  303. data/test/regression/xlsx_files/object_position03.xlsx +0 -0
  304. data/test/regression/xlsx_files/object_position04.xlsx +0 -0
  305. data/test/regression/xlsx_files/object_position06.xlsx +0 -0
  306. data/test/regression/xlsx_files/object_position07.xlsx +0 -0
  307. data/test/regression/xlsx_files/object_position08.xlsx +0 -0
  308. data/test/regression/xlsx_files/object_position09.xlsx +0 -0
  309. data/test/regression/xlsx_files/object_position10.xlsx +0 -0
  310. data/test/regression/xlsx_files/properties03.xlsx +0 -0
  311. data/test/regression/xlsx_files/properties04.xlsx +0 -0
  312. data/test/regression/xlsx_files/properties05.xlsx +0 -0
  313. data/test/regression/xlsx_files/table21.xlsx +0 -0
  314. data/test/regression/xlsx_files/table22.xlsx +0 -0
  315. data/test/regression/xlsx_files/table23.xlsx +0 -0
  316. data/test/regression/xlsx_files/utf8_11.xlsx +0 -0
  317. data/test/test_example_match.rb +836 -771
  318. data/test/workbook/test_check_sheetname.rb +61 -0
  319. data/test/workbook/test_worksheet_by_name.rb +35 -0
  320. data/test/workbook/test_write_workbook_view.rb +117 -0
  321. data/test/worksheet/test_cond_format_22.rb +266 -0
  322. data/test/worksheet/test_cond_format_23.rb +242 -0
  323. data/test/worksheet/test_cond_format_24.rb +303 -0
  324. data/test/worksheet/test_data_bar_01.rb +53 -0
  325. data/test/worksheet/test_data_bar_02.rb +79 -0
  326. data/test/worksheet/test_data_bar_03.rb +147 -0
  327. data/test/worksheet/test_data_bar_04.rb +145 -0
  328. data/test/worksheet/test_data_bar_05.rb +147 -0
  329. data/test/worksheet/test_data_bar_06.rb +145 -0
  330. data/test/worksheet/test_data_bar_07.rb +146 -0
  331. data/test/worksheet/test_data_bar_08.rb +54 -0
  332. data/test/worksheet/test_data_bar_09.rb +80 -0
  333. data/test/worksheet/test_data_bar_10.rb +165 -0
  334. data/test/worksheet/test_data_bar_11.rb +167 -0
  335. data/test/worksheet/test_data_bar_12.rb +104 -0
  336. data/test/worksheet/test_write_data_validation_02.rb +44 -0
  337. data/test/worksheet/test_write_hyperlink.rb +0 -7
  338. data/test/worksheet/test_write_sheet_view.rb +19 -1
  339. metadata +308 -5
  340. data/test/package/comments/test_write_text_t.rb +0 -44
@@ -6,7 +6,7 @@
6
6
  # A demo of a Line chart in Excel::Writer::XLSX.
7
7
  #
8
8
  # reverse('ゥ'), March 2011, John McNamara, jmcnamara@cpan.org
9
- # convert to ruby by Hideo NAKAMURA, cxn03651@msj.biglobe.ne.jp
9
+ # convert to ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
10
10
  #
11
11
 
12
12
  require 'write_xlsx'
@@ -53,6 +53,9 @@
53
53
  chart.set_style(10)
54
54
 
55
55
  # Insert the chart into the worksheet (with an offset).
56
- worksheet.insert_chart('D2', chart, 25, 10)
56
+ worksheet.insert_chart(
57
+ 'D2', chart,
58
+ :x_offset => 25, :y_offset => 10
59
+ )
57
60
 
58
61
  workbook.close
@@ -6,7 +6,7 @@
6
6
  # A demo of a Pareto chart in Excel::Writer::XLSX.
7
7
  #
8
8
  # reverse ('(c)'), March 2015, John McNamara, jmcnamara@cpan.org
9
- # convert to ruby by Hideo NAKAMURA, cxn03651@msj.biglobe.ne.jp
9
+ # convert to ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
10
10
  #
11
11
 
12
12
  require 'write_xlsx'
@@ -12,7 +12,7 @@
12
12
  # assign formatting to each point in the series.
13
13
  #
14
14
  # reverse(c), March 2011, John McNamara, jmcnamara@cpan.org
15
- # convert to ruby by Hideo NAKAMURA, cxn03651@msj.biglobe.ne.jp
15
+ # convert to ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
16
16
  #
17
17
 
18
18
  require 'write_xlsx'
@@ -50,7 +50,10 @@
50
50
  chart1.set_style(10)
51
51
 
52
52
  # Insert the chart into the worksheet (with an offset).
53
- worksheet.insert_chart('C2', chart1, 25, 10)
53
+ worksheet.insert_chart(
54
+ 'C2', chart1,
55
+ :x_offset => 25, :y_offset => 10
56
+ )
54
57
 
55
58
  #
56
59
  # Create a Pie chart with user defined segment colors.
@@ -74,6 +77,9 @@
74
77
  # Add a title.
75
78
  chart2.set_title(:name => 'Pie Chart with user defined colors')
76
79
 
77
- worksheet.insert_chart('C18', chart2, 25, 10)
80
+ worksheet.insert_chart(
81
+ 'C18', chart2,
82
+ :x_offset => 25, :y_offset => 10
83
+ )
78
84
 
79
85
  workbook.close
@@ -6,7 +6,7 @@
6
6
  # A demo of an Area chart in Excel::Writer::XLSX.
7
7
  #
8
8
  # reverse ('(c)'), October 2012, John McNamara, jmcnamara@cpan.org
9
- # convert to ruby by Hideo NAKAMURA, cxn03651@msj.biglobe.ne.jp
9
+ # convert to ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
10
10
  #
11
11
 
12
12
  require 'write_xlsx'
@@ -53,7 +53,10 @@
53
53
  chart1.set_style(11)
54
54
 
55
55
  # Insert the chart into the worksheet (with an offset).
56
- worksheet.insert_chart('D2', chart1, 25, 10)
56
+ worksheet.insert_chart(
57
+ 'D2', chart1,
58
+ :x_offset => 25, :y_offset => 10
59
+ )
57
60
 
58
61
  #
59
62
  # Create a with_markers chart sub-type
@@ -87,7 +90,10 @@
87
90
  chart2.set_style(12)
88
91
 
89
92
  # Insert the chart into the worksheet (with an offset).
90
- worksheet.insert_chart('D18', chart2, 25, 11)
93
+ worksheet.insert_chart(
94
+ 'D18', chart2,
95
+ :x_offset => 25, :y_offset => 10
96
+ )
91
97
 
92
98
  #
93
99
  # Create a filled chart sub-type
@@ -121,6 +127,9 @@
121
127
  chart3.set_style(13)
122
128
 
123
129
  # Insert the chart into the worksheet (with an offset).
124
- worksheet.insert_chart('D34', chart3, 25, 11)
130
+ worksheet.insert_chart(
131
+ 'D34', chart3,
132
+ :x_offset => 25, :y_offset => 10
133
+ )
125
134
 
126
135
  workbook.close
@@ -6,7 +6,7 @@
6
6
  # A demo of a Scatter chart in Excel::Writer::XLSX.
7
7
  #
8
8
  # reverse(c), March 2011, John McNamara, jmcnamara@cpan.org
9
- # convert to ruby by Hideo NAKAMURA, cxn03651@msj.biglobe.ne.jp
9
+ # convert to ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
10
10
  #
11
11
 
12
12
  require 'write_xlsx'
@@ -53,6 +53,9 @@
53
53
  chart.set_style(10)
54
54
 
55
55
  # Insert the chart into the worksheet (with an offset).
56
- worksheet.insert_chart('D2', chart, 25, 10)
56
+ worksheet.insert_chart(
57
+ 'D2', chart,
58
+ :x_offset => 25, :y_offset => 10
59
+ )
57
60
 
58
61
  workbook.close
@@ -6,7 +6,7 @@
6
6
  # A demo of a Line chart with a secondary axis in WriteXLSX.
7
7
  #
8
8
  # reverse(c), March 2011, John McNamara, jmcnamara@cpan.org
9
- # convert to ruby by Hideo NAKAMURA, cxn03651@msj.biglobe.ne.jp
9
+ # convert to ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
10
10
  #
11
11
 
12
12
  require 'write_xlsx'
@@ -49,6 +49,9 @@
49
49
  chart.set_y2_axis(:name => 'Laser wounds')
50
50
 
51
51
  # Insert the chart into the worksheet (with an offset).
52
- worksheet.insert_chart('D2', chart, 25, 10)
52
+ worksheet.insert_chart(
53
+ 'D2', chart,
54
+ :x_offset => 25, :y_offset => 10
55
+ )
53
56
 
54
57
  workbook.close
@@ -6,7 +6,7 @@
6
6
  # A demo of a Stock chart in Excel::Writer::XLSX.
7
7
  #
8
8
  # reverse(c), March 2011, John McNamara, jmcnamara@cpan.org
9
- # convert to ruby by Hideo NAKAMURA, cxn03651@msj.biglobe.ne.jp
9
+ # convert to ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
10
10
  #
11
11
 
12
12
  require 'write_xlsx'
@@ -8,7 +8,7 @@
8
8
  # styles available in Excel 2013.
9
9
  #
10
10
  # reverse ('(c)'), March 2015, John McNamara, jmcnamara@cpan.org
11
- # convert to ruby by Hideo NAKAMURA, cxn03651@msj.biglobe.ne.jp
11
+ # convert to ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
12
12
  #
13
13
 
14
14
  require 'write_xlsx'
data/examples/colors.rb CHANGED
@@ -12,7 +12,7 @@
12
12
  # reverse('©'), March 2002, John McNamara, jmcnamara@cpan.org
13
13
  #
14
14
  # original written in Perl by John McNamara
15
- # converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
15
+ # converted to Ruby by Hideo Nakamura, nakamura.hideo@gmail.com
16
16
  #
17
17
 
18
18
  require 'write_xlsx'
@@ -26,12 +26,6 @@
26
26
  :color => '#006100'
27
27
  )
28
28
 
29
- # Blue fill with dark blue text.
30
- format3 = workbook.add_format(
31
- :bg_color => '#C6CEFF',
32
- :color => '#0000FF'
33
- )
34
-
35
29
  # Some sample data to run the conditional formatting against.
36
30
  data = [
37
31
  [ 34, 72, 38, 30, 75, 48, 75, 66, 84, 86 ],
@@ -226,19 +220,18 @@
226
220
  #
227
221
  caption = 'Examples of color scales and data bars. Default colors.'
228
222
 
229
- # Use different sample data for examples 7 and 8
230
- data7 = 1 .. 12
223
+ data = 1 .. 12
231
224
 
232
225
  worksheet7.write('A1', caption)
233
226
 
234
227
  worksheet7.write('B2', "2 Color Scale")
235
- worksheet7.write_col('B3', data7)
228
+ worksheet7.write_col('B3', data)
236
229
 
237
230
  worksheet7.write('D2', "3 Color Scale")
238
- worksheet7.write_col('D3', data7)
231
+ worksheet7.write_col('D3', data)
239
232
 
240
233
  worksheet7.write('F2', "Data Bars")
241
- worksheet7.write_col('F3', data7)
234
+ worksheet7.write_col('F3', data)
242
235
 
243
236
 
244
237
  worksheet7.conditional_formatting('B3:B14',
@@ -266,16 +259,18 @@
266
259
  #
267
260
  caption = 'Examples of color scales and data bars. Modified colors.'
268
261
 
262
+ data = 1..12
263
+
269
264
  worksheet8.write('A1', caption)
270
265
 
271
266
  worksheet8.write('B2', "2 Color Scale")
272
- worksheet8.write_col('B3', data7)
267
+ worksheet8.write_col('B3', data)
273
268
 
274
269
  worksheet8.write('D2', "3 Color Scale")
275
- worksheet8.write_col('D3', data7)
270
+ worksheet8.write_col('D3', data)
276
271
 
277
272
  worksheet8.write('F2', "Data Bars")
278
- worksheet8.write_col('F3', data7)
273
+ worksheet8.write_col('F3', data)
279
274
 
280
275
 
281
276
  worksheet8.conditional_formatting('B3:B14',
@@ -304,47 +299,79 @@
304
299
 
305
300
  ###############################################################################
306
301
  #
307
- # Example 9
302
+ # Example 9.
308
303
  #
309
- caption = 'Cells with values >= 100 are always in blue. ' +
310
- 'Otherwise, cells with values >= 50 are in light red ' +
311
- 'and values < 50 are in light green.'
304
+ caption = 'Examples of conditional formats with icon sets.'
305
+
306
+ data = [
307
+ [1, 2, 3],
308
+ [1, 2, 3],
309
+ [1, 2, 3],
310
+ [1, 2, 3],
311
+ [1, 2, 3, 4],
312
+ [1, 2, 3, 4, 5],
313
+ [1, 2, 3, 4, 5]
314
+ ]
312
315
 
313
- # Write the data.
314
316
  worksheet9.write('A1', caption)
315
317
  worksheet9.write_col('B3', data)
316
318
 
317
- # Write a conditional format over a range.
318
- # Use stopIfTrue to prevent previous formats from being used
319
- # if the conditions of this format are met.
320
- worksheet9.conditional_formatting('B3:K12',
321
- {
322
- :type => 'cell',
323
- :criteria => '>=',
324
- :value => 100,
325
- :format => format3,
326
- :stop_if_true => 1
327
- }
319
+ worksheet9.conditional_formatting(
320
+ 'B3:D3',
321
+ {
322
+ :type => 'icon_set',
323
+ :icon_style => '3_traffic_lights'
324
+ }
328
325
  )
329
326
 
330
- # Write another conditional format over the same range.
331
- worksheet9.conditional_formatting('B3:K12',
332
- {
333
- :type => 'cell',
334
- :criteria => '>=',
335
- :value => 50,
336
- :format => format1
337
- }
327
+ worksheet9.conditional_formatting(
328
+ 'B4:D4',
329
+ {
330
+ :type => 'icon_set',
331
+ :icon_style => '3_traffic_lights',
332
+ :reverse_icons => 1
333
+ }
338
334
  )
339
335
 
340
- # Write another conditional format over the same range.
341
- worksheet9.conditional_formatting('B3:K12',
342
- {
343
- :type => 'cell',
344
- :criteria => '<',
345
- :value => 50,
346
- :format => format2
347
- }
336
+ worksheet9.conditional_formatting(
337
+ 'B5:D5',
338
+ {
339
+ :type => 'icon_set',
340
+ :icon_style => '3_traffic_lights',
341
+ :icons_only => 1
342
+ }
343
+ )
344
+
345
+ worksheet9.conditional_formatting(
346
+ 'B6:D6',
347
+ {
348
+ :type => 'icon_set',
349
+ :icon_style => '3_arrows'
350
+ }
351
+ )
352
+
353
+ worksheet9.conditional_formatting(
354
+ 'B7:E8',
355
+ {
356
+ :type => 'icon_set',
357
+ :icon_style => '4_arrows'
358
+ }
359
+ )
360
+
361
+ worksheet9.conditional_formatting(
362
+ 'B8:F8',
363
+ {
364
+ :type => 'icon_set',
365
+ :icon_style => '5_arrows'
366
+ }
367
+ )
368
+
369
+ worksheet9.conditional_formatting(
370
+ 'B9:F9',
371
+ {
372
+ :type => 'icon_set',
373
+ :icon_style => '5_ratings'
374
+ }
348
375
  )
349
376
 
350
377
  workbook.close
@@ -9,7 +9,7 @@
9
9
  # reverse('©'), August 2008, John McNamara, jmcnamara@cpan.org
10
10
  #
11
11
  # original written in Perl by John McNamara
12
- # converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
12
+ # converted to Ruby by Hideo Nakamura, nakamura.hideo@gmail.com
13
13
  #
14
14
 
15
15
  require 'write_xlsx'
@@ -7,7 +7,7 @@
7
7
  # Worksheet#write_date_time.
8
8
  #
9
9
  # reverse(c), March 2001, John McNamara, jmcnamara@cpan.org
10
- # convert to ruby by Hideo NAKAMURA, cxn03651@msj.biglobe.ne.jp
10
+ # convert to ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
11
11
  #
12
12
 
13
13
  require 'write_xlsx'
data/examples/demo.rb CHANGED
@@ -27,11 +27,6 @@
27
27
  :align => 'vcenter'
28
28
  )
29
29
 
30
- hyperlink_format = workbook.add_format(
31
- :color => 'blue',
32
- :underline => 1
33
- )
34
-
35
30
  headings = ['Features of WriteXLSX', '']
36
31
  worksheet.write_row('A1', headings, heading)
37
32
 
@@ -81,14 +76,17 @@
81
76
  # Hyperlinks
82
77
  #
83
78
  worksheet.write('A9', "Hyperlinks")
84
- worksheet.write('B9', 'http://www.ruby-lang.org/', hyperlink_format)
79
+ worksheet.write('B9', 'http://www.ruby-lang.org/')
85
80
 
86
81
  #######################################################################
87
82
  #
88
83
  # Images
89
84
  #
90
85
  worksheet.write('A10', "Images")
91
- worksheet.insert_image('B10', 'republic.png', 16, 8)
86
+ worksheet.insert_image(
87
+ 'B10', 'republic.png',
88
+ :x_offset => 16, :y_offset => 8
89
+ )
92
90
 
93
91
 
94
92
  #######################################################################
@@ -99,4 +97,3 @@
99
97
  worksheet.write('A19', "Multiple worksheets")
100
98
 
101
99
  workbook.close
102
-
data/examples/formats.rb CHANGED
@@ -10,7 +10,7 @@
10
10
  # in the various formatting possibilities.
11
11
  #
12
12
  # reverse('ゥ'), September 2002, John McNamara, jmcnamara@cpan.org
13
- # convert to Ruby by Hideo NAKAMURA, cxn03651@msj.biglobe.ne.jp
13
+ # convert to Ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
14
14
  #
15
15
 
16
16
  require 'write_xlsx'
data/examples/headers.rb CHANGED
@@ -35,7 +35,7 @@
35
35
  #
36
36
  # reverse(c), March 2002, John McNamara, jmcnamara@cpan.org
37
37
  #
38
- # converted to ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
38
+ # converted to ruby by Hideo Nakamura, nakamura.hideo@gmail.com
39
39
 
40
40
  require 'write_xlsx'
41
41
 
@@ -8,7 +8,7 @@
8
8
  # Excel uses an optimisation to hide all rows that don't have data.
9
9
  #
10
10
  # reverse ('(c)'), December 2012, John McNamara, jmcnamara@cpan.org
11
- # convert to ruby by Hideo NAKAMURA, cxn03651@msj.biglobe.ne.jp
11
+ # convert to ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
12
12
  #
13
13
 
14
14
  require 'write_xlsx'
@@ -6,7 +6,7 @@
6
6
  # Example of how to hide a worksheet with Excel::Writer::XLSX.
7
7
  #
8
8
  # reverse('c'), April 2005, John McNamara, jmcnamara@cpan.org
9
- # convert to ruby by Hideo, Nakamura, cxn03651@msj.biglobe.ne.jp
9
+ # convert to ruby by Hideo, Nakamura, nakamura.hideo@gmail.com
10
10
  #
11
11
  require 'write_xlsx'
12
12
 
@@ -8,7 +8,7 @@
8
8
  # See also hyperlink2.pl for worksheet URL examples.
9
9
  #
10
10
  # reverse(c), May 2004, John McNamara, jmcnamara@cpan.org
11
- # convert to ruby by Hideo NAKAMURA, cxn03651@msj.biglobe.ne.jp
11
+ # convert to ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
12
12
  #
13
13
 
14
14
  require 'write_xlsx'
@@ -22,13 +22,6 @@
22
22
  worksheet.set_column('A:A', 30)
23
23
  worksheet.set_selection('B1')
24
24
 
25
-
26
- # Add the standard url link format.
27
- url_format = workbook.add_format(
28
- :color => 'blue',
29
- :underline => 1
30
- )
31
-
32
25
  # Add a sample format.
33
26
  red_format = workbook.add_format(
34
27
  :color => 'red',
@@ -45,11 +38,11 @@
45
38
 
46
39
 
47
40
  # Write some hyperlinks
48
- worksheet.write('A1', 'http://www.perl.com/', url_format)
49
- worksheet.write('A3', 'http://www.perl.com/', url_format, str)
50
- worksheet.write('A5', 'http://www.perl.com/', url_format, str, tip)
41
+ worksheet.write('A1', 'http://www.perl.com/')
42
+ worksheet.write('A3', 'http://www.perl.com/', nil, str)
43
+ worksheet.write('A5', 'http://www.perl.com/', nil, str, tip)
51
44
  worksheet.write('A7', 'http://www.perl.com/', red_format)
52
- worksheet.write('A9', 'mailto:jmcnamara@cpan.org', url_format, 'Mail me')
45
+ worksheet.write('A9', 'mailto:jmcnamara@cpan.org', nil, 'Mail me')
53
46
 
54
47
  # Write a URL that isn't a hyperlink
55
48
  worksheet.write_string('A11', 'http://www.perl.com/')