write_xlsx 1.10.0 → 1.10.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +5 -1
  3. data/Changes +3 -0
  4. data/README.md +1 -1
  5. data/examples/autofilter.rb +1 -1
  6. data/examples/chart_area.rb +12 -12
  7. data/examples/chart_bar.rb +12 -12
  8. data/examples/chart_clustered.rb +12 -12
  9. data/examples/chart_column.rb +12 -12
  10. data/examples/chart_combined.rb +25 -25
  11. data/examples/chart_data_labels.rb +99 -99
  12. data/examples/chart_data_table.rb +25 -25
  13. data/examples/chart_data_tools.rb +50 -50
  14. data/examples/chart_doughnut.rb +29 -29
  15. data/examples/chart_gauge.rb +18 -18
  16. data/examples/chart_line.rb +32 -32
  17. data/examples/chart_pareto.rb +16 -16
  18. data/examples/chart_pie.rb +17 -17
  19. data/examples/chart_radar.rb +38 -38
  20. data/examples/chart_scatter.rb +12 -12
  21. data/examples/chart_secondary_axis.rb +13 -13
  22. data/examples/chart_stock.rb +12 -12
  23. data/examples/chart_styles.rb +5 -5
  24. data/examples/colors.rb +11 -11
  25. data/examples/comments2.rb +15 -15
  26. data/examples/conditional_format.rb +74 -74
  27. data/examples/data_validate.rb +64 -64
  28. data/examples/date_time.rb +3 -3
  29. data/examples/demo.rb +14 -14
  30. data/examples/diag_border.rb +6 -6
  31. data/examples/dynamic_arrays.rb +2 -2
  32. data/examples/formats.rb +10 -10
  33. data/examples/hyperlink1.rb +4 -4
  34. data/examples/ignore_errors.rb +2 -2
  35. data/examples/indent.rb +2 -2
  36. data/examples/macros.rb +4 -4
  37. data/examples/merge1.rb +1 -1
  38. data/examples/merge2.rb +9 -9
  39. data/examples/merge3.rb +5 -5
  40. data/examples/merge4.rb +20 -20
  41. data/examples/merge5.rb +18 -18
  42. data/examples/merge6.rb +7 -7
  43. data/examples/outline.rb +1 -1
  44. data/examples/outline_collapsed.rb +1 -1
  45. data/examples/panes.rb +4 -4
  46. data/examples/properties.rb +9 -9
  47. data/examples/protection.rb +2 -2
  48. data/examples/rich_strings.rb +6 -6
  49. data/examples/shape1.rb +7 -7
  50. data/examples/shape2.rb +16 -16
  51. data/examples/shape3.rb +5 -5
  52. data/examples/shape4.rb +7 -7
  53. data/examples/shape5.rb +7 -7
  54. data/examples/shape6.rb +7 -7
  55. data/examples/shape7.rb +10 -10
  56. data/examples/shape8.rb +10 -10
  57. data/examples/shape_all.rb +4 -4
  58. data/examples/sparklines1.rb +11 -11
  59. data/examples/sparklines2.rb +76 -76
  60. data/examples/tables.rb +87 -87
  61. data/examples/watermark.rb +1 -1
  62. data/lib/write_xlsx/chart/bar.rb +4 -4
  63. data/lib/write_xlsx/chart/line.rb +1 -1
  64. data/lib/write_xlsx/chart/radar.rb +2 -2
  65. data/lib/write_xlsx/chart/scatter.rb +4 -4
  66. data/lib/write_xlsx/chart/series.rb +27 -27
  67. data/lib/write_xlsx/chart/stock.rb +5 -5
  68. data/lib/write_xlsx/chart.rb +30 -30
  69. data/lib/write_xlsx/colors.rb +19 -19
  70. data/lib/write_xlsx/package/conditional_format.rb +3 -3
  71. data/lib/write_xlsx/package/table.rb +8 -8
  72. data/lib/write_xlsx/shape.rb +5 -5
  73. data/lib/write_xlsx/sheets.rb +1 -1
  74. data/lib/write_xlsx/sparkline.rb +286 -286
  75. data/lib/write_xlsx/utility.rb +23 -23
  76. data/lib/write_xlsx/version.rb +1 -1
  77. data/lib/write_xlsx/workbook.rb +20 -20
  78. data/lib/write_xlsx/worksheet/cell_data.rb +1 -1
  79. data/lib/write_xlsx/worksheet.rb +28 -28
  80. metadata +2 -2
data/examples/shape8.rb CHANGED
@@ -22,11 +22,11 @@ cx = 210
22
22
  cy = 190
23
23
 
24
24
  ellipse = workbook.add_shape(
25
- :type => 'ellipse',
26
- :id => 2,
27
- :text => "Hello\nWorld",
28
- :width => cw,
29
- :height => ch
25
+ type: 'ellipse',
26
+ id: 2,
27
+ text: "Hello\nWorld",
28
+ width: cw,
29
+ height: ch
30
30
  )
31
31
  worksheet.insert_shape('A1', ellipse, cx, cy)
32
32
 
@@ -37,10 +37,10 @@ px = 120
37
37
  py = 250
38
38
 
39
39
  plus = workbook.add_shape(
40
- :type => 'plus',
41
- :id => 3,
42
- :width => pw,
43
- :height => ph
40
+ type: 'plus',
41
+ id: 3,
42
+ width: pw,
43
+ height: ph
44
44
  )
45
45
 
46
46
  p1 = worksheet.insert_shape('A1', plus, 350, 150)
@@ -48,7 +48,7 @@ p2 = worksheet.insert_shape('A1', plus, 350, 350)
48
48
  p3 = worksheet.insert_shape('A1', plus, 150, 350)
49
49
  p4 = worksheet.insert_shape('A1', plus, 150, 150)
50
50
 
51
- cxn_shape = workbook.add_shape(:type => 'bentConnector3', :fill => 0)
51
+ cxn_shape = workbook.add_shape(type: 'bentConnector3', fill: 0)
52
52
 
53
53
  cxn_shape.start = ellipse.id
54
54
  cxn_shape.start_index = 2 # 2nd connection pt, clockwise from top(0).
@@ -225,10 +225,10 @@ shapes_list.each_line do |line|
225
225
  end
226
226
  last_sheet = sheet
227
227
  shape = workbook.add_shape(
228
- :type => name,
229
- :text => name,
230
- :width => 90,
231
- :height => 90
228
+ type: name,
229
+ text: name,
230
+ width: 90,
231
+ height: 90
232
232
  )
233
233
 
234
234
  # Connectors can not have labels, so write the connector name in the cell
@@ -31,29 +31,29 @@ worksheet.write_col('A1', data)
31
31
  # Add a line sparkline (the default) with markers.
32
32
  worksheet.add_sparkline(
33
33
  {
34
- :location => 'F1',
35
- :range => 'Sheet1!A1:E1',
36
- :markers => 1
34
+ location: 'F1',
35
+ range: 'Sheet1!A1:E1',
36
+ markers: 1
37
37
  }
38
38
  )
39
39
 
40
40
  # Add a column sparkline with non-default style.
41
41
  worksheet.add_sparkline(
42
42
  {
43
- :location => 'F2',
44
- :range => 'Sheet1!A2:E2',
45
- :type => 'column',
46
- :style => 12
43
+ location: 'F2',
44
+ range: 'Sheet1!A2:E2',
45
+ type: 'column',
46
+ style: 12
47
47
  }
48
48
  )
49
49
 
50
50
  # Add a win/loss sparkline with negative values highlighted.
51
51
  worksheet.add_sparkline(
52
52
  {
53
- :location => 'F3',
54
- :range => 'Sheet1!A3:E3',
55
- :type => 'win_loss',
56
- :negative_points => 1
53
+ location: 'F3',
54
+ range: 'Sheet1!A3:E3',
55
+ type: 'win_loss',
56
+ negative_points: 1
57
57
  }
58
58
  )
59
59
 
@@ -18,7 +18,7 @@ require 'write_xlsx'
18
18
  workbook = WriteXLSX.new('sparklines2.xlsx')
19
19
  worksheet1 = workbook.add_worksheet
20
20
  worksheet2 = workbook.add_worksheet
21
- bold = workbook.add_format(:bold => 1)
21
+ bold = workbook.add_format(bold: 1)
22
22
  row = 1
23
23
 
24
24
  # Set the columns widths to make the output clearer.
@@ -36,8 +36,8 @@ str = 'A default "line" sparkline.'
36
36
 
37
37
  worksheet1.add_sparkline(
38
38
  {
39
- :location => 'A2',
40
- :range => 'Sheet2!A1:J1'
39
+ location: 'A2',
40
+ range: 'Sheet2!A1:J1'
41
41
  }
42
42
  )
43
43
 
@@ -50,9 +50,9 @@ str = 'A default "column" sparkline.'
50
50
 
51
51
  worksheet1.add_sparkline(
52
52
  {
53
- :location => 'A3',
54
- :range => 'Sheet2!A2:J2',
55
- :type => 'column'
53
+ location: 'A3',
54
+ range: 'Sheet2!A2:J2',
55
+ type: 'column'
56
56
  }
57
57
  )
58
58
 
@@ -65,9 +65,9 @@ str = 'A default "win/loss" sparkline.'
65
65
 
66
66
  worksheet1.add_sparkline(
67
67
  {
68
- :location => 'A4',
69
- :range => 'Sheet2!A3:J3',
70
- :type => 'win_loss'
68
+ location: 'A4',
69
+ range: 'Sheet2!A3:J3',
70
+ type: 'win_loss'
71
71
  }
72
72
  )
73
73
 
@@ -80,9 +80,9 @@ str = 'Line with markers.'
80
80
 
81
81
  worksheet1.add_sparkline(
82
82
  {
83
- :location => 'A6',
84
- :range => 'Sheet2!A1:J1',
85
- :markers => 1
83
+ location: 'A6',
84
+ range: 'Sheet2!A1:J1',
85
+ markers: 1
86
86
  }
87
87
  )
88
88
 
@@ -95,10 +95,10 @@ str = 'Line with high and low points.'
95
95
 
96
96
  worksheet1.add_sparkline(
97
97
  {
98
- :location => 'A7',
99
- :range => 'Sheet2!A1:J1',
100
- :high_point => 1,
101
- :low_point => 1
98
+ location: 'A7',
99
+ range: 'Sheet2!A1:J1',
100
+ high_point: 1,
101
+ low_point: 1
102
102
  }
103
103
  )
104
104
 
@@ -111,10 +111,10 @@ str = 'Line with first and last point markers.'
111
111
 
112
112
  worksheet1.add_sparkline(
113
113
  {
114
- :location => 'A8',
115
- :range => 'Sheet2!A1:J1',
116
- :first_point => 1,
117
- :last_point => 1
114
+ location: 'A8',
115
+ range: 'Sheet2!A1:J1',
116
+ first_point: 1,
117
+ last_point: 1
118
118
  }
119
119
  )
120
120
 
@@ -127,9 +127,9 @@ str = 'Line with negative point markers.'
127
127
 
128
128
  worksheet1.add_sparkline(
129
129
  {
130
- :location => 'A9',
131
- :range => 'Sheet2!A1:J1',
132
- :negative_points => 1
130
+ location: 'A9',
131
+ range: 'Sheet2!A1:J1',
132
+ negative_points: 1
133
133
  }
134
134
  )
135
135
 
@@ -142,9 +142,9 @@ str = 'Line with axis.'
142
142
 
143
143
  worksheet1.add_sparkline(
144
144
  {
145
- :location => 'A10',
146
- :range => 'Sheet2!A1:J1',
147
- :axis => 1
145
+ location: 'A10',
146
+ range: 'Sheet2!A1:J1',
147
+ axis: 1
148
148
  }
149
149
  )
150
150
 
@@ -157,9 +157,9 @@ str = 'Column with default style (1).'
157
157
 
158
158
  worksheet1.add_sparkline(
159
159
  {
160
- :location => 'A12',
161
- :range => 'Sheet2!A2:J2',
162
- :type => 'column'
160
+ location: 'A12',
161
+ range: 'Sheet2!A2:J2',
162
+ type: 'column'
163
163
  }
164
164
  )
165
165
 
@@ -172,10 +172,10 @@ str = 'Column with style 2.'
172
172
 
173
173
  worksheet1.add_sparkline(
174
174
  {
175
- :location => 'A13',
176
- :range => 'Sheet2!A2:J2',
177
- :type => 'column',
178
- :style => 2
175
+ location: 'A13',
176
+ range: 'Sheet2!A2:J2',
177
+ type: 'column',
178
+ style: 2
179
179
  }
180
180
  )
181
181
 
@@ -188,10 +188,10 @@ str = 'Column with style 3.'
188
188
 
189
189
  worksheet1.add_sparkline(
190
190
  {
191
- :location => 'A14',
192
- :range => 'Sheet2!A2:J2',
193
- :type => 'column',
194
- :style => 3
191
+ location: 'A14',
192
+ range: 'Sheet2!A2:J2',
193
+ type: 'column',
194
+ style: 3
195
195
  }
196
196
  )
197
197
 
@@ -204,10 +204,10 @@ str = 'Column with style 4.'
204
204
 
205
205
  worksheet1.add_sparkline(
206
206
  {
207
- :location => 'A15',
208
- :range => 'Sheet2!A2:J2',
209
- :type => 'column',
210
- :style => 4
207
+ location: 'A15',
208
+ range: 'Sheet2!A2:J2',
209
+ type: 'column',
210
+ style: 4
211
211
  }
212
212
  )
213
213
 
@@ -220,10 +220,10 @@ str = 'Column with style 5.'
220
220
 
221
221
  worksheet1.add_sparkline(
222
222
  {
223
- :location => 'A16',
224
- :range => 'Sheet2!A2:J2',
225
- :type => 'column',
226
- :style => 5
223
+ location: 'A16',
224
+ range: 'Sheet2!A2:J2',
225
+ type: 'column',
226
+ style: 5
227
227
  }
228
228
  )
229
229
 
@@ -236,10 +236,10 @@ str = 'Column with style 6.'
236
236
 
237
237
  worksheet1.add_sparkline(
238
238
  {
239
- :location => 'A17',
240
- :range => 'Sheet2!A2:J2',
241
- :type => 'column',
242
- :style => 6
239
+ location: 'A17',
240
+ range: 'Sheet2!A2:J2',
241
+ type: 'column',
242
+ style: 6
243
243
  }
244
244
  )
245
245
 
@@ -252,10 +252,10 @@ str = 'Column with a user defined colour.'
252
252
 
253
253
  worksheet1.add_sparkline(
254
254
  {
255
- :location => 'A18',
256
- :range => 'Sheet2!A2:J2',
257
- :type => 'column',
258
- :series_color => '#E965E0'
255
+ location: 'A18',
256
+ range: 'Sheet2!A2:J2',
257
+ type: 'column',
258
+ series_color: '#E965E0'
259
259
  }
260
260
  )
261
261
 
@@ -268,9 +268,9 @@ str = 'A win/loss sparkline.'
268
268
 
269
269
  worksheet1.add_sparkline(
270
270
  {
271
- :location => 'A20',
272
- :range => 'Sheet2!A3:J3',
273
- :type => 'win_loss'
271
+ location: 'A20',
272
+ range: 'Sheet2!A3:J3',
273
+ type: 'win_loss'
274
274
  }
275
275
  )
276
276
 
@@ -283,10 +283,10 @@ str = 'A win/loss sparkline with negative points highlighted.'
283
283
 
284
284
  worksheet1.add_sparkline(
285
285
  {
286
- :location => 'A21',
287
- :range => 'Sheet2!A3:J3',
288
- :type => 'win_loss',
289
- :negative_points => 1
286
+ location: 'A21',
287
+ range: 'Sheet2!A3:J3',
288
+ type: 'win_loss',
289
+ negative_points: 1
290
290
  }
291
291
  )
292
292
 
@@ -299,10 +299,10 @@ str = 'A left to right column (the default).'
299
299
 
300
300
  worksheet1.add_sparkline(
301
301
  {
302
- :location => 'A23',
303
- :range => 'Sheet2!A4:J4',
304
- :type => 'column',
305
- :style => 20
302
+ location: 'A23',
303
+ range: 'Sheet2!A4:J4',
304
+ type: 'column',
305
+ style: 20
306
306
  }
307
307
  )
308
308
 
@@ -315,11 +315,11 @@ str = 'A right to left column.'
315
315
 
316
316
  worksheet1.add_sparkline(
317
317
  {
318
- :location => 'A24',
319
- :range => 'Sheet2!A4:J4',
320
- :type => 'column',
321
- :style => 20,
322
- :reverse => 1
318
+ location: 'A24',
319
+ range: 'Sheet2!A4:J4',
320
+ type: 'column',
321
+ style: 20,
322
+ reverse: 1
323
323
  }
324
324
  )
325
325
 
@@ -332,10 +332,10 @@ str = 'Sparkline and text in one cell.'
332
332
 
333
333
  worksheet1.add_sparkline(
334
334
  {
335
- :location => 'A25',
336
- :range => 'Sheet2!A4:J4',
337
- :type => 'column',
338
- :style => 20
335
+ location: 'A25',
336
+ range: 'Sheet2!A4:J4',
337
+ type: 'column',
338
+ style: 20
339
339
  }
340
340
  )
341
341
 
@@ -349,9 +349,9 @@ str = 'A grouped sparkline. Changes are applied to all three.'
349
349
 
350
350
  worksheet1.add_sparkline(
351
351
  {
352
- :location => %w[A27 A28 A29],
353
- :range => ['Sheet2!A5:J5', 'Sheet2!A6:J6', 'Sheet2!A7:J7'],
354
- :markers => 1
352
+ location: %w[A27 A28 A29],
353
+ range: ['Sheet2!A5:J5', 'Sheet2!A6:J6', 'Sheet2!A7:J7'],
354
+ markers: 1
355
355
  }
356
356
  )
357
357
 
data/examples/tables.rb CHANGED
@@ -30,7 +30,7 @@ worksheet11 = workbook.add_worksheet
30
30
  worksheet12 = workbook.add_worksheet
31
31
  worksheet13 = workbook.add_worksheet
32
32
 
33
- currency_format = workbook.add_format(:num_format => '$#,##0')
33
+ currency_format = workbook.add_format(num_format: '$#,##0')
34
34
 
35
35
  # Some sample data for the table.
36
36
  data = [
@@ -68,7 +68,7 @@ worksheet2.set_column('B:G', 12)
68
68
  worksheet2.write('B1', caption)
69
69
 
70
70
  # Add a table to the worksheet.
71
- worksheet2.add_table('B3:F7', { :data => data })
71
+ worksheet2.add_table('B3:F7', { data: data })
72
72
 
73
73
  ###############################################################################
74
74
  #
@@ -83,7 +83,7 @@ worksheet3.set_column('B:G', 12)
83
83
  worksheet3.write('B1', caption)
84
84
 
85
85
  # Add a table to the worksheet.
86
- worksheet3.add_table('B3:F7', { :autofilter => 0 })
86
+ worksheet3.add_table('B3:F7', { autofilter: 0 })
87
87
 
88
88
  # Table data can also be written separately, as an array or individual cells.
89
89
  worksheet3.write_col('B4', data)
@@ -101,7 +101,7 @@ worksheet4.set_column('B:G', 12)
101
101
  worksheet4.write('B1', caption)
102
102
 
103
103
  # Add a table to the worksheet.
104
- worksheet4.add_table('B4:F7', { :header_row => 0 })
104
+ worksheet4.add_table('B4:F7', { header_row: 0 })
105
105
 
106
106
  # Table data can also be written separately, as an array or individual cells.
107
107
  worksheet4.write_col('B4', data)
@@ -119,7 +119,7 @@ worksheet5.set_column('B:G', 12)
119
119
  worksheet5.write('B1', caption)
120
120
 
121
121
  # Add a table to the worksheet.
122
- worksheet5.add_table('B3:F7', { :first_column => 1, :last_column => 1 })
122
+ worksheet5.add_table('B3:F7', { first_column: 1, last_column: 1 })
123
123
 
124
124
  # Table data can also be written separately, as an array or individual cells.
125
125
  worksheet5.write_col('B4', data)
@@ -137,7 +137,7 @@ worksheet6.set_column('B:G', 12)
137
137
  worksheet6.write('B1', caption)
138
138
 
139
139
  # Add a table to the worksheet.
140
- worksheet6.add_table('B3:F7', { :banded_rows => 0, :banded_columns => 1 })
140
+ worksheet6.add_table('B3:F7', { banded_rows: 0, banded_columns: 1 })
141
141
 
142
142
  # Table data can also be written separately, as an array or individual cells.
143
143
  worksheet6.write_col('B4', data)
@@ -158,13 +158,13 @@ worksheet7.write('B1', caption)
158
158
  worksheet7.add_table(
159
159
  'B3:F7',
160
160
  {
161
- :data => data,
162
- :columns => [
163
- { :header => 'Product' },
164
- { :header => 'Quarter 1' },
165
- { :header => 'Quarter 2' },
166
- { :header => 'Quarter 3' },
167
- { :header => 'Quarter 4' }
161
+ data: data,
162
+ columns: [
163
+ { header: 'Product' },
164
+ { header: 'Quarter 1' },
165
+ { header: 'Quarter 2' },
166
+ { header: 'Quarter 3' },
167
+ { header: 'Quarter 4' }
168
168
  ]
169
169
  }
170
170
  )
@@ -185,16 +185,16 @@ worksheet8.write('B1', caption)
185
185
  worksheet8.add_table(
186
186
  'B3:G7',
187
187
  {
188
- :data => data,
189
- :columns => [
190
- { :header => 'Product' },
191
- { :header => 'Quarter 1' },
192
- { :header => 'Quarter 2' },
193
- { :header => 'Quarter 3' },
194
- { :header => 'Quarter 4' },
188
+ data: data,
189
+ columns: [
190
+ { header: 'Product' },
191
+ { header: 'Quarter 1' },
192
+ { header: 'Quarter 2' },
193
+ { header: 'Quarter 3' },
194
+ { header: 'Quarter 4' },
195
195
  {
196
- :header => 'Year',
197
- :formula => '=SUM(Table8[@[Quarter 1]:[Quarter 4]])'
196
+ header: 'Year',
197
+ formula: '=SUM(Table8[@[Quarter 1]:[Quarter 4]])'
198
198
  }
199
199
  ]
200
200
  }
@@ -216,17 +216,17 @@ worksheet9.write('B1', caption)
216
216
  worksheet9.add_table(
217
217
  'B3:G8',
218
218
  {
219
- :data => data,
220
- :total_row => 1,
221
- :columns => [
222
- { :header => 'Product' },
223
- { :header => 'Quarter 1' },
224
- { :header => 'Quarter 2' },
225
- { :header => 'Quarter 3' },
226
- { :header => 'Quarter 4' },
219
+ data: data,
220
+ total_row: 1,
221
+ columns: [
222
+ { header: 'Product' },
223
+ { header: 'Quarter 1' },
224
+ { header: 'Quarter 2' },
225
+ { header: 'Quarter 3' },
226
+ { header: 'Quarter 4' },
227
227
  {
228
- :header => 'Year',
229
- :formula => '=SUM(Table8[@[Quarter 1]:[Quarter 4]])'
228
+ header: 'Year',
229
+ formula: '=SUM(Table8[@[Quarter 1]:[Quarter 4]])'
230
230
  }
231
231
  ]
232
232
  }
@@ -248,18 +248,18 @@ worksheet10.write('B1', caption)
248
248
  worksheet10.add_table(
249
249
  'B3:G8',
250
250
  {
251
- :data => data,
252
- :total_row => 1,
253
- :columns => [
254
- { :header => 'Product', :total_string => 'Totals' },
255
- { :header => 'Quarter 1', :total_function => 'sum' },
256
- { :header => 'Quarter 2', :total_function => 'sum' },
257
- { :header => 'Quarter 3', :total_function => 'sum' },
258
- { :header => 'Quarter 4', :total_function => 'sum' },
251
+ data: data,
252
+ total_row: 1,
253
+ columns: [
254
+ { header: 'Product', total_string: 'Totals' },
255
+ { header: 'Quarter 1', total_function: 'sum' },
256
+ { header: 'Quarter 2', total_function: 'sum' },
257
+ { header: 'Quarter 3', total_function: 'sum' },
258
+ { header: 'Quarter 4', total_function: 'sum' },
259
259
  {
260
- :header => 'Year',
261
- :formula => '=SUM(Table8[@[Quarter 1]:[Quarter 4]])',
262
- :total_function => 'sum'
260
+ header: 'Year',
261
+ formula: '=SUM(Table8[@[Quarter 1]:[Quarter 4]])',
262
+ total_function: 'sum'
263
263
  }
264
264
  ]
265
265
  }
@@ -281,19 +281,19 @@ worksheet11.write('B1', caption)
281
281
  worksheet11.add_table(
282
282
  'B3:G8',
283
283
  {
284
- :data => data,
285
- :style => 'Table Style Light 11',
286
- :total_row => 1,
287
- :columns => [
288
- { :header => 'Product', :total_string => 'Totals' },
289
- { :header => 'Quarter 1', :total_function => 'sum' },
290
- { :header => 'Quarter 2', :total_function => 'sum' },
291
- { :header => 'Quarter 3', :total_function => 'sum' },
292
- { :header => 'Quarter 4', :total_function => 'sum' },
284
+ data: data,
285
+ style: 'Table Style Light 11',
286
+ total_row: 1,
287
+ columns: [
288
+ { header: 'Product', total_string: 'Totals' },
289
+ { header: 'Quarter 1', total_function: 'sum' },
290
+ { header: 'Quarter 2', total_function: 'sum' },
291
+ { header: 'Quarter 3', total_function: 'sum' },
292
+ { header: 'Quarter 4', total_function: 'sum' },
293
293
  {
294
- :header => 'Year',
295
- :formula => '=SUM(Table8[@[Quarter 1]:[Quarter 4]])',
296
- :total_function => 'sum'
294
+ header: 'Year',
295
+ formula: '=SUM(Table8[@[Quarter 1]:[Quarter 4]])',
296
+ total_function: 'sum'
297
297
  }
298
298
  ]
299
299
  }
@@ -315,19 +315,19 @@ worksheet12.write('B1', caption)
315
315
  worksheet12.add_table(
316
316
  'B3:G8',
317
317
  {
318
- :data => data,
319
- :style => 'None',
320
- :total_row => 1,
321
- :columns => [
322
- { :header => 'Product', :total_string => 'Totals' },
323
- { :header => 'Quarter 1', :total_function => 'sum' },
324
- { :header => 'Quarter 2', :total_function => 'sum' },
325
- { :header => 'Quarter 3', :total_function => 'sum' },
326
- { :header => 'Quarter 4', :total_function => 'sum' },
318
+ data: data,
319
+ style: 'None',
320
+ total_row: 1,
321
+ columns: [
322
+ { header: 'Product', total_string: 'Totals' },
323
+ { header: 'Quarter 1', total_function: 'sum' },
324
+ { header: 'Quarter 2', total_function: 'sum' },
325
+ { header: 'Quarter 3', total_function: 'sum' },
326
+ { header: 'Quarter 4', total_function: 'sum' },
327
327
  {
328
- :header => 'Year',
329
- :formula => '=SUM(Table12[@[Quarter 1]:[Quarter 4]])',
330
- :total_function => 'sum'
328
+ header: 'Year',
329
+ formula: '=SUM(Table12[@[Quarter 1]:[Quarter 4]])',
330
+ total_function: 'sum'
331
331
  }
332
332
  ]
333
333
  }
@@ -349,35 +349,35 @@ worksheet13.write('B1', caption)
349
349
  worksheet13.add_table(
350
350
  'B3:G8',
351
351
  {
352
- :data => data,
353
- :total_row => 1,
354
- :columns => [
355
- { :header => 'Product', :total_string => 'Totals' },
352
+ data: data,
353
+ total_row: 1,
354
+ columns: [
355
+ { header: 'Product', total_string: 'Totals' },
356
356
  {
357
- :header => 'Quarter 1',
358
- :total_function => 'sum',
359
- :format => currency_format
357
+ header: 'Quarter 1',
358
+ total_function: 'sum',
359
+ format: currency_format
360
360
  },
361
361
  {
362
- :header => 'Quarter 2',
363
- :total_function => 'sum',
364
- :format => currency_format
362
+ header: 'Quarter 2',
363
+ total_function: 'sum',
364
+ format: currency_format
365
365
  },
366
366
  {
367
- :header => 'Quarter 3',
368
- :total_function => 'sum',
369
- :format => currency_format
367
+ header: 'Quarter 3',
368
+ total_function: 'sum',
369
+ format: currency_format
370
370
  },
371
371
  {
372
- :header => 'Quarter 4',
373
- :total_function => 'sum',
374
- :format => currency_format
372
+ header: 'Quarter 4',
373
+ total_function: 'sum',
374
+ format: currency_format
375
375
  },
376
376
  {
377
- :header => 'Year',
378
- :formula => '=SUM(Table8[@[Quarter 1]:[Quarter 4]])',
379
- :total_function => 'sum',
380
- :format => currency_format
377
+ header: 'Year',
378
+ formula: '=SUM(Table8[@[Quarter 1]:[Quarter 4]])',
379
+ total_function: 'sum',
380
+ format: currency_format
381
381
  }
382
382
  ]
383
383
  }