axlsx 1.0.5 → 1.0.6

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 (71) hide show
  1. data/README.md +10 -9
  2. data/doc/Axlsx.html +2443 -0
  3. data/doc/Axlsx/App.html +2640 -0
  4. data/doc/Axlsx/Axis.html +1047 -0
  5. data/doc/Axlsx/Bar3DChart.html +1153 -0
  6. data/doc/Axlsx/BarSeries.html +764 -0
  7. data/doc/Axlsx/Border.html +775 -0
  8. data/doc/Axlsx/BorderPr.html +709 -0
  9. data/doc/Axlsx/CatAxis.html +766 -0
  10. data/doc/Axlsx/Cell.html +1623 -0
  11. data/doc/Axlsx/CellAlignment.html +1247 -0
  12. data/doc/Axlsx/CellProtection.html +565 -0
  13. data/doc/Axlsx/CellStyle.html +949 -0
  14. data/doc/Axlsx/Chart.html +1459 -0
  15. data/doc/Axlsx/Color.html +665 -0
  16. data/doc/Axlsx/ContentType.html +340 -0
  17. data/doc/Axlsx/Core.html +465 -0
  18. data/doc/Axlsx/DataTypeValidator.html +324 -0
  19. data/doc/Axlsx/Default.html +575 -0
  20. data/doc/Axlsx/Drawing.html +1154 -0
  21. data/doc/Axlsx/Fill.html +460 -0
  22. data/doc/Axlsx/Font.html +1554 -0
  23. data/doc/Axlsx/GradientFill.html +1026 -0
  24. data/doc/Axlsx/GradientStop.html +526 -0
  25. data/doc/Axlsx/GraphicFrame.html +646 -0
  26. data/doc/Axlsx/Line3DChart.html +921 -0
  27. data/doc/Axlsx/LineSeries.html +656 -0
  28. data/doc/Axlsx/Marker.html +857 -0
  29. data/doc/Axlsx/NumFmt.html +562 -0
  30. data/doc/Axlsx/Override.html +568 -0
  31. data/doc/Axlsx/Package.html +1293 -0
  32. data/doc/Axlsx/PatternFill.html +681 -0
  33. data/doc/Axlsx/Pie3DChart.html +439 -0
  34. data/doc/Axlsx/PieSeries.html +762 -0
  35. data/doc/Axlsx/RegexValidator.html +268 -0
  36. data/doc/Axlsx/Relationship.html +554 -0
  37. data/doc/Axlsx/Relationships.html +343 -0
  38. data/doc/Axlsx/RestrictionValidator.html +300 -0
  39. data/doc/Axlsx/Row.html +771 -0
  40. data/doc/Axlsx/Scaling.html +740 -0
  41. data/doc/Axlsx/SerAxis.html +624 -0
  42. data/doc/Axlsx/Series.html +746 -0
  43. data/doc/Axlsx/SeriesTitle.html +289 -0
  44. data/doc/Axlsx/SimpleTypedList.html +1617 -0
  45. data/doc/Axlsx/Styles.html +1754 -0
  46. data/doc/Axlsx/TableStyle.html +710 -0
  47. data/doc/Axlsx/TableStyleElement.html +677 -0
  48. data/doc/Axlsx/TableStyles.html +599 -0
  49. data/doc/Axlsx/Title.html +625 -0
  50. data/doc/Axlsx/TwoCellAnchor.html +1115 -0
  51. data/doc/Axlsx/ValAxis.html +539 -0
  52. data/doc/Axlsx/View3D.html +971 -0
  53. data/doc/Axlsx/Workbook.html +1347 -0
  54. data/doc/Axlsx/Worksheet.html +1864 -0
  55. data/doc/Axlsx/Xf.html +1681 -0
  56. data/doc/_index.html +611 -0
  57. data/doc/class_list.html +47 -0
  58. data/doc/css/common.css +1 -0
  59. data/doc/css/full_list.css +55 -0
  60. data/doc/css/style.css +322 -0
  61. data/doc/file.README.html +262 -0
  62. data/doc/file_list.html +49 -0
  63. data/doc/frames.html +13 -0
  64. data/doc/index.html +262 -0
  65. data/doc/js/app.js +205 -0
  66. data/doc/js/full_list.js +167 -0
  67. data/doc/js/jquery.js +16 -0
  68. data/doc/method_list.html +3038 -0
  69. data/doc/top-level-namespace.html +103 -0
  70. data/lib/axlsx/util/constants.rb +1 -1
  71. metadata +71 -3
@@ -0,0 +1,1623 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Class: Axlsx::Cell
8
+
9
+ &mdash; Documentation by YARD 0.7.3
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ relpath = '..';
19
+ if (relpath != '') relpath += '/';
20
+ </script>
21
+
22
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
23
+
24
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
25
+
26
+
27
+ </head>
28
+ <body>
29
+ <script type="text/javascript" charset="utf-8">
30
+ if (window.top.frames.main) document.body.className = 'frames';
31
+ </script>
32
+
33
+ <div id="header">
34
+ <div id="menu">
35
+
36
+ <a href="../_index.html">Index (C)</a> &raquo;
37
+ <span class='title'><span class='object_link'><a href="../Axlsx.html" title="Axlsx (module)">Axlsx</a></span></span>
38
+ &raquo;
39
+ <span class="title">Cell</span>
40
+
41
+
42
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
43
+ </div>
44
+
45
+ <div id="search">
46
+
47
+ <a id="class_list_link" href="#">Class List</a>
48
+
49
+ <a id="method_list_link" href="#">Method List</a>
50
+
51
+ <a id="file_list_link" href="#">File List</a>
52
+
53
+ </div>
54
+ <div class="clear"></div>
55
+ </div>
56
+
57
+ <iframe id="search_frame"></iframe>
58
+
59
+ <div id="content"><h1>Class: Axlsx::Cell
60
+
61
+
62
+
63
+ </h1>
64
+
65
+ <dl class="box">
66
+
67
+ <dt class="r1">Inherits:</dt>
68
+ <dd class="r1">
69
+ <span class="inheritName">Object</span>
70
+
71
+ <ul class="fullTree">
72
+ <li>Object</li>
73
+
74
+ <li class="next">Axlsx::Cell</li>
75
+
76
+ </ul>
77
+ <a href="#" class="inheritanceTree">show all</a>
78
+
79
+ </dd>
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+ <dt class="r2 last">Defined in:</dt>
90
+ <dd class="r2 last">lib/axlsx/workbook/worksheet/cell.rb</dd>
91
+
92
+ </dl>
93
+ <div class="clear"></div>
94
+
95
+ <h2>Overview</h2><div class="docstring">
96
+ <div class="discussion">
97
+
98
+ <div class="note notetag">
99
+ <strong>Note:</strong>
100
+ <div class='inline'><p>
101
+ The recommended way to generate cells is via Worksheet#add_row
102
+ </p>
103
+ </div>
104
+ </div>
105
+
106
+ <p>
107
+ A cell in a worksheet. Cell stores inforamation requried to serialize a
108
+ single worksheet cell to xml. You must provde the Row that the cell belongs
109
+ to and the cells value. The data type will automatically be determed if you
110
+ do not specify the :type option. The default style will be applied if you
111
+ do not supply the :style option. Changing the cell&#8217;s type will recast
112
+ the value to the type specified. Altering the cell&#8217;s value via the
113
+ property accessor will also automatically cast the provided value to the
114
+ cell&#8217;s type.
115
+ </p>
116
+
117
+
118
+ </div>
119
+ </div>
120
+ <div class="tags">
121
+
122
+ <div class="examples">
123
+ <h3>Examples:</h3>
124
+
125
+ <h4><div class='inline'><p>
126
+ Manually creating and manipulating Cell objects
127
+ </p>
128
+ </div></h4>
129
+ <pre class="example code"><span class='ws identifier id'>ws</span> <span class='assign token'>=</span> <span class='Workbook constant id'>Workbook</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='dot token'>.</span><span class='add_worksheet identifier id'>add_worksheet</span>
130
+ <span class='comment val'># This is the simple, and recommended way to create cells. Data types will automatically be determined for you.</span>
131
+ <span class='ws identifier id'>ws</span><span class='dot token'>.</span><span class='add_row identifier id'>add_row</span> <span class='symbol val'>:values</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='lbrack token'>[</span><span class='integer val'>1</span><span class='comma token'>,</span><span class='string val'>&quot;fish&quot;</span><span class='comma token'>,</span><span class='Time constant id'>Time</span><span class='dot token'>.</span><span class='now identifier id'>now</span><span class='rbrack token'>]</span>
132
+
133
+ <span class='comment val'># but you can also do this</span>
134
+ <span class='r identifier id'>r</span> <span class='assign token'>=</span> <span class='ws identifier id'>ws</span><span class='dot token'>.</span><span class='add_row identifier id'>add_row</span>
135
+ <span class='r identifier id'>r</span><span class='dot token'>.</span><span class='add_cell identifier id'>add_cell</span> <span class='integer val'>1</span>
136
+
137
+ <span class='comment val'># or even this</span>
138
+ <span class='r identifier id'>r</span> <span class='assign token'>=</span> <span class='ws identifier id'>ws</span><span class='dot token'>.</span><span class='add_row identifier id'>add_row</span>
139
+ <span class='c identifier id'>c</span> <span class='assign token'>=</span> <span class='Cell constant id'>Cell</span><span class='dot token'>.</span><span class='new identifier id'>new</span> <span class='row identifier id'>row</span><span class='comma token'>,</span> <span class='integer val'>1</span><span class='comma token'>,</span> <span class='symbol val'>:value=</span><span class='gt op'>&gt;</span><span class='integer identifier id'>integer</span>
140
+
141
+ <span class='comment val'># cells can also be accessed via Row#cells. The example here changes the cells type, which will automatically updated the value from 1 to 1.0</span>
142
+ <span class='r identifier id'>r</span><span class='dot token'>.</span><span class='cells identifier id'>cells</span><span class='dot token'>.</span><span class='last identifier id'>last</span><span class='dot token'>.</span><span class='type identifier id'>type</span> <span class='assign token'>=</span> <span class='symbol val'>:float</span>
143
+ </pre>
144
+
145
+ </div>
146
+
147
+
148
+ <h3>See Also:</h3>
149
+ <ul class="see">
150
+
151
+ <li><span class='object_link'><a href="Worksheet.html#add_row-instance_method" title="Axlsx::Worksheet#add_row (method)">Worksheet#add_row</a></span></li>
152
+
153
+ </ul>
154
+
155
+ </div>
156
+
157
+ <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
158
+ <ul class="summary">
159
+
160
+ <li class="public ">
161
+ <span class="summary_signature">
162
+
163
+ <a href="#row-instance_method" title="#row (instance method)">- (Row) <strong>row</strong> </a>
164
+
165
+
166
+
167
+ </span>
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+
178
+
179
+ <span class="summary_desc"><div class='inline'><p>
180
+ The row this cell belongs to.
181
+ </p>
182
+ </div></span>
183
+
184
+ </li>
185
+
186
+
187
+ <li class="public ">
188
+ <span class="summary_signature">
189
+
190
+ <a href="#style-instance_method" title="#style (instance method)">- (Integer) <strong>style</strong> </a>
191
+
192
+
193
+
194
+ </span>
195
+
196
+
197
+
198
+
199
+
200
+
201
+
202
+
203
+
204
+
205
+
206
+ <span class="summary_desc"><div class='inline'><p>
207
+ The index of the cellXfs item to be applied to this cell.
208
+ </p>
209
+ </div></span>
210
+
211
+ </li>
212
+
213
+
214
+ <li class="public ">
215
+ <span class="summary_signature">
216
+
217
+ <a href="#type-instance_method" title="#type (instance method)">- (Symbol) <strong>type</strong> </a>
218
+
219
+
220
+
221
+ </span>
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+
233
+ <span class="summary_desc"><div class='inline'><p>
234
+ The cell&#8217;s data type.
235
+ </p>
236
+ </div></span>
237
+
238
+ </li>
239
+
240
+
241
+ <li class="public ">
242
+ <span class="summary_signature">
243
+
244
+ <a href="#value-instance_method" title="#value (instance method)">- (Object) <strong>value</strong> </a>
245
+
246
+
247
+
248
+ </span>
249
+
250
+
251
+
252
+
253
+
254
+
255
+
256
+
257
+
258
+
259
+
260
+ <span class="summary_desc"><div class='inline'><p>
261
+ The value of this cell.
262
+ </p>
263
+ </div></span>
264
+
265
+ </li>
266
+
267
+
268
+ </ul>
269
+
270
+
271
+
272
+
273
+
274
+ <h2>
275
+ Instance Method Summary
276
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
277
+ </h2>
278
+
279
+ <ul class="summary">
280
+
281
+ <li class="public ">
282
+ <span class="summary_signature">
283
+
284
+ <a href="#cast_value-instance_method" title="#cast_value (instance method)">- (Object) <strong>cast_value</strong>(v) </a>
285
+
286
+
287
+
288
+ </span>
289
+
290
+
291
+
292
+
293
+
294
+
295
+
296
+
297
+ <span class="summary_desc"><div class='inline'><p>
298
+ Cast the value into this cells data type.
299
+ </p>
300
+ </div></span>
301
+
302
+ </li>
303
+
304
+
305
+ <li class="public ">
306
+ <span class="summary_signature">
307
+
308
+ <a href="#cell_type_from_value-instance_method" title="#cell_type_from_value (instance method)">- (Symbol) <strong>cell_type_from_value</strong>(v) </a>
309
+
310
+
311
+
312
+ </span>
313
+
314
+
315
+
316
+
317
+
318
+
319
+
320
+
321
+ <span class="summary_desc"><div class='inline'><p>
322
+ Determines the cell type based on the cell value.
323
+ </p>
324
+ </div></span>
325
+
326
+ </li>
327
+
328
+
329
+ <li class="public ">
330
+ <span class="summary_signature">
331
+
332
+ <a href="#col_ref-instance_method" title="#col_ref (instance method)">- (String) <strong>col_ref</strong> </a>
333
+
334
+
335
+
336
+ </span>
337
+
338
+
339
+
340
+
341
+
342
+
343
+
344
+
345
+ <span class="summary_desc"><div class='inline'><p>
346
+ converts the column index into alphabetical values.
347
+ </p>
348
+ </div></span>
349
+
350
+ </li>
351
+
352
+
353
+ <li class="public ">
354
+ <span class="summary_signature">
355
+
356
+ <a href="#index-instance_method" title="#index (instance method)">- (Integer) <strong>index</strong> </a>
357
+
358
+
359
+
360
+ </span>
361
+
362
+
363
+
364
+
365
+
366
+
367
+
368
+
369
+ <span class="summary_desc"><div class='inline'><p>
370
+ The index of the cell in the containing row.
371
+ </p>
372
+ </div></span>
373
+
374
+ </li>
375
+
376
+
377
+ <li class="public ">
378
+ <span class="summary_signature">
379
+
380
+ <a href="#initialize-instance_method" title="#initialize (instance method)">- (Cell) <strong>initialize</strong>(row, value = &quot;&quot;, options = {}) </a>
381
+
382
+
383
+
384
+ </span>
385
+
386
+ <span class="note title constructor">constructor</span>
387
+
388
+
389
+
390
+
391
+
392
+
393
+
394
+
395
+ <span class="summary_desc"><div class='inline'><p>
396
+ A new instance of Cell.
397
+ </p>
398
+ </div></span>
399
+
400
+ </li>
401
+
402
+
403
+ <li class="public ">
404
+ <span class="summary_signature">
405
+
406
+ <a href="#r-instance_method" title="#r (instance method)">- (String) <strong>r</strong> </a>
407
+
408
+
409
+
410
+ </span>
411
+
412
+
413
+
414
+
415
+
416
+
417
+
418
+
419
+ <span class="summary_desc"><div class='inline'><p>
420
+ The alpha(column)numeric(row) reference for this sell.
421
+ </p>
422
+ </div></span>
423
+
424
+ </li>
425
+
426
+
427
+ <li class="public ">
428
+ <span class="summary_signature">
429
+
430
+ <a href="#r_abs-instance_method" title="#r_abs (instance method)">- (String) <strong>r_abs</strong> </a>
431
+
432
+
433
+
434
+ </span>
435
+
436
+
437
+
438
+
439
+
440
+
441
+
442
+
443
+ <span class="summary_desc"><div class='inline'><p>
444
+ The absolute alpha(column)numeric(row) reference for this sell.
445
+ </p>
446
+ </div></span>
447
+
448
+ </li>
449
+
450
+
451
+ <li class="public ">
452
+ <span class="summary_signature">
453
+
454
+ <a href="#to_xml-instance_method" title="#to_xml (instance method)">- (String) <strong>to_xml</strong>(xml) </a>
455
+
456
+
457
+
458
+ </span>
459
+
460
+
461
+
462
+
463
+
464
+
465
+
466
+
467
+ <span class="summary_desc"><div class='inline'><p>
468
+ Serializes the cell.
469
+ </p>
470
+ </div></span>
471
+
472
+ </li>
473
+
474
+
475
+ </ul>
476
+
477
+
478
+ <div id="constructor_details" class="method_details_list">
479
+ <h2>Constructor Details</h2>
480
+
481
+ <div class="method_details first">
482
+ <p class="signature first" id="initialize-instance_method">
483
+
484
+ - (<tt><span class='object_link'><a href="" title="Axlsx::Cell (class)">Cell</a></span></tt>) <strong>initialize</strong>(row, value = &quot;&quot;, options = {})
485
+
486
+
487
+
488
+ </p><div class="docstring">
489
+ <div class="discussion">
490
+ <p>
491
+ A new instance of Cell
492
+ </p>
493
+
494
+
495
+ </div>
496
+ </div>
497
+ <div class="tags">
498
+ <h3>Parameters:</h3>
499
+ <ul class="param">
500
+
501
+ <li>
502
+
503
+ <span class='name'>row</span>
504
+
505
+
506
+ <span class='type'>(<tt><span class='object_link'><a href="Row.html" title="Axlsx::Row (class)">Row</a></span></tt>)</span>
507
+
508
+
509
+
510
+ &mdash;
511
+ <div class='inline'><p>
512
+ The row this cell belongs to.
513
+ </p>
514
+ </div>
515
+
516
+ </li>
517
+
518
+ <li>
519
+
520
+ <span class='name'>value</span>
521
+
522
+
523
+ <span class='type'>(<tt>Any</tt>)</span>
524
+
525
+
526
+ <em class="default">(defaults to: <tt>&quot;&quot;</tt>)</em>
527
+
528
+
529
+ &mdash;
530
+ <div class='inline'><p>
531
+ The value associated with this cell.
532
+ </p>
533
+ </div>
534
+
535
+ </li>
536
+
537
+ <li>
538
+
539
+ <span class='name'>options</span>
540
+
541
+
542
+ <span class='type'>(<tt>Hash</tt>)</span>
543
+
544
+
545
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
546
+
547
+
548
+ &mdash;
549
+ <div class='inline'><p>
550
+ a customizable set of options
551
+ </p>
552
+ </div>
553
+
554
+ </li>
555
+
556
+ </ul>
557
+
558
+
559
+
560
+
561
+
562
+
563
+
564
+
565
+ <h3>Options Hash (<tt>options</tt>):</h3>
566
+ <ul class="option">
567
+
568
+ <li>
569
+ <span class="name">type</span>
570
+ <span class="type">(<tt>Symbol</tt>)</span>
571
+ <span class="default">
572
+
573
+ </span>
574
+ &mdash; <div class='inline'><p>
575
+ The intended data type for this cell. If not specified the data type will
576
+ be determined internally based on the vlue provided.
577
+ </p>
578
+ </div>
579
+ </li>
580
+
581
+ <li>
582
+ <span class="name">style</span>
583
+ <span class="type">(<tt>Integer</tt>)</span>
584
+ <span class="default">
585
+
586
+ </span>
587
+ &mdash; <div class='inline'><p>
588
+ The index of the cellXfs item to be applied to this cell. If not specified,
589
+ the default style (0) will be applied.
590
+ </p>
591
+ </div>
592
+ </li>
593
+
594
+ </ul>
595
+
596
+
597
+
598
+ </div><table class="source_code">
599
+ <tr>
600
+ <td>
601
+ <pre class="lines">
602
+
603
+
604
+ 56
605
+ 57
606
+ 58
607
+ 59
608
+ 60
609
+ 61
610
+ 62
611
+ 63
612
+ 64</pre>
613
+ </td>
614
+ <td>
615
+ <pre class="code"><span class="info file"># File 'lib/axlsx/workbook/worksheet/cell.rb', line 56</span>
616
+
617
+ <span class='def def kw'>def</span> <span class='initialize identifier id'>initialize</span><span class='lparen token'>(</span><span class='row identifier id'>row</span><span class='comma token'>,</span> <span class='value identifier id'>value</span><span class='assign token'>=</span><span class='string val'>&quot;&quot;</span><span class='comma token'>,</span> <span class='options identifier id'>options</span><span class='assign token'>=</span><span class='lbrace token'>{</span><span class='rbrace token'>}</span><span class='rparen token'>)</span>
618
+ <span class='self self kw'>self</span><span class='dot token'>.</span><span class='row identifier id'>row</span><span class='assign token'>=</span><span class='row identifier id'>row</span>
619
+ <span class='comment val'>#reference for validation</span>
620
+ <span class='@styles ivar id'>@styles</span> <span class='assign token'>=</span> <span class='row identifier id'>row</span><span class='dot token'>.</span><span class='worksheet identifier id'>worksheet</span><span class='dot token'>.</span><span class='workbook identifier id'>workbook</span><span class='dot token'>.</span><span class='styles identifier id'>styles</span>
621
+ <span class='@type ivar id'>@type</span><span class='assign token'>=</span> <span class='options identifier id'>options</span><span class='lbrack token'>[</span><span class='symbol val'>:type</span><span class='rbrack token'>]</span> <span class='orop op'>||</span> <span class='cell_type_from_value identifier id'>cell_type_from_value</span><span class='lparen token'>(</span><span class='value identifier id'>value</span><span class='rparen token'>)</span>
622
+ <span class='self self kw'>self</span><span class='dot token'>.</span><span class='style identifier id'>style</span> <span class='assign token'>=</span> <span class='options identifier id'>options</span><span class='lbrack token'>[</span><span class='symbol val'>:style</span><span class='rbrack token'>]</span> <span class='orop op'>||</span> <span class='integer val'>0</span>
623
+ <span class='@value ivar id'>@value</span> <span class='assign token'>=</span> <span class='cast_value identifier id'>cast_value</span><span class='lparen token'>(</span><span class='value identifier id'>value</span><span class='rparen token'>)</span>
624
+ <span class='@row ivar id'>@row</span><span class='dot token'>.</span><span class='cells identifier id'>cells</span> <span class='lshft op'>&lt;&lt;</span> <span class='self self kw'>self</span>
625
+ <span class='end end kw'>end</span>
626
+ </pre>
627
+ </td>
628
+ </tr>
629
+ </table>
630
+ </div>
631
+
632
+ </div>
633
+
634
+ <div id="instance_attr_details" class="attr_details">
635
+ <h2>Instance Attribute Details</h2>
636
+
637
+
638
+ <span id="row=-instance_method"></span>
639
+ <span id="row-instance_method"></span>
640
+ <div class="method_details first">
641
+ <p class="signature first" id="row-instance_method">
642
+
643
+ - (<tt><span class='object_link'><a href="Row.html" title="Axlsx::Row (class)">Row</a></span></tt>) <strong>row</strong>
644
+
645
+
646
+
647
+ </p><div class="docstring">
648
+ <div class="discussion">
649
+ <p>
650
+ The row this cell belongs to.
651
+ </p>
652
+
653
+
654
+ </div>
655
+ </div>
656
+ <div class="tags">
657
+
658
+ <h3>Returns:</h3>
659
+ <ul class="return">
660
+
661
+ <li>
662
+
663
+
664
+ <span class='type'>(<tt><span class='object_link'><a href="Row.html" title="Axlsx::Row (class)">Row</a></span></tt>)</span>
665
+
666
+
667
+
668
+ </li>
669
+
670
+ </ul>
671
+
672
+ </div><table class="source_code">
673
+ <tr>
674
+ <td>
675
+ <pre class="lines">
676
+
677
+
678
+ 32
679
+ 33
680
+ 34</pre>
681
+ </td>
682
+ <td>
683
+ <pre class="code"><span class="info file"># File 'lib/axlsx/workbook/worksheet/cell.rb', line 32</span>
684
+
685
+ <span class='def def kw'>def</span> <span class='row identifier id'>row</span>
686
+ <span class='@row ivar id'>@row</span>
687
+ <span class='end end kw'>end</span>
688
+ </pre>
689
+ </td>
690
+ </tr>
691
+ </table>
692
+ </div>
693
+
694
+
695
+ <span id="style=-instance_method"></span>
696
+ <span id="style-instance_method"></span>
697
+ <div class="method_details ">
698
+ <p class="signature " id="style-instance_method">
699
+
700
+ - (<tt>Integer</tt>) <strong>style</strong>
701
+
702
+
703
+
704
+ </p><div class="docstring">
705
+ <div class="discussion">
706
+ <p>
707
+ The index of the cellXfs item to be applied to this cell.
708
+ </p>
709
+
710
+
711
+ </div>
712
+ </div>
713
+ <div class="tags">
714
+
715
+ <h3>Returns:</h3>
716
+ <ul class="return">
717
+
718
+ <li>
719
+
720
+
721
+ <span class='type'>(<tt>Integer</tt>)</span>
722
+
723
+
724
+
725
+ </li>
726
+
727
+ </ul>
728
+
729
+ <h3>See Also:</h3>
730
+ <ul class="see">
731
+
732
+ <li><span class='object_link'><a href="Styles.html" title="Axlsx::Styles (class)">Styles</a></span></li>
733
+
734
+ </ul>
735
+
736
+ </div><table class="source_code">
737
+ <tr>
738
+ <td>
739
+ <pre class="lines">
740
+
741
+
742
+ 28
743
+ 29
744
+ 30</pre>
745
+ </td>
746
+ <td>
747
+ <pre class="code"><span class="info file"># File 'lib/axlsx/workbook/worksheet/cell.rb', line 28</span>
748
+
749
+ <span class='def def kw'>def</span> <span class='style identifier id'>style</span>
750
+ <span class='@style ivar id'>@style</span>
751
+ <span class='end end kw'>end</span>
752
+ </pre>
753
+ </td>
754
+ </tr>
755
+ </table>
756
+ </div>
757
+
758
+
759
+ <span id="type=-instance_method"></span>
760
+ <span id="type-instance_method"></span>
761
+ <div class="method_details ">
762
+ <p class="signature " id="type-instance_method">
763
+
764
+ - (<tt>Symbol</tt>) <strong>type</strong>
765
+
766
+
767
+
768
+ </p><div class="docstring">
769
+ <div class="discussion">
770
+
771
+ <div class="note notetag">
772
+ <strong>Note:</strong>
773
+ <div class='inline'><p>
774
+ If the value provided cannot be cast into the type specified, type is
775
+ changed to :string and the following logic is applied.
776
+ </p>
777
+ <pre class="code">
778
+ <span class='symbol val'>:string</span> <span class='to identifier id'>to</span> <span class='symbol val'>:integer</span> <span class='or or kw'>or</span> <span class='symbol val'>:float</span><span class='comma token'>,</span> <span class='type identifier id'>type</span> <span class='coversions identifier id'>coversions</span> <span class='always identifier id'>always</span> <span class='return return kw'>return</span> <span class='integer val'>0</span> <span class='or or kw'>or</span> <span class='integer val'>0</span><span class='integer val'>.0</span>
779
+ <span class='symbol val'>:string</span><span class='comma token'>,</span> <span class='symbol val'>:integer</span><span class='comma token'>,</span> <span class='or or kw'>or</span> <span class='symbol val'>:float</span> <span class='to identifier id'>to</span> <span class='symbol val'>:time</span> <span class='conversions identifier id'>conversions</span> <span class='always identifier id'>always</span> <span class='return return kw'>return</span> <span class='the identifier id'>the</span> <span class='original identifier id'>original</span> <span class='value identifier id'>value</span> <span class='as identifier id'>as</span> <span class='a identifier id'>a</span> <span class='string identifier id'>string</span> <span class='and and kw'>and</span> <span class='set identifier id'>set</span> <span class='the identifier id'>the</span> <span class='cells identifier id'>cells</span> <span class='type identifier id'>type</span> <span class='to identifier id'>to</span> <span class='symbol val'>:string</span><span class='dot token'>.</span>
780
+ </pre>
781
+ <p>
782
+ No support is currently implemented for parsing time strings.
783
+ </p>
784
+ </div>
785
+ </div>
786
+
787
+ <p>
788
+ The cell&#8217;s data type. Currently only four types are supported, :time,
789
+ :float, :integer and :string. Changing the type for a cell will recast the
790
+ value into that type. If no type option is specified in the constructor,
791
+ the type is automatically determed.
792
+ </p>
793
+
794
+
795
+ </div>
796
+ </div>
797
+ <div class="tags">
798
+
799
+ <h3>Returns:</h3>
800
+ <ul class="return">
801
+
802
+ <li>
803
+
804
+
805
+ <span class='type'>(<tt>Symbol</tt>)</span>
806
+
807
+
808
+
809
+ &mdash;
810
+ <div class='inline'><p>
811
+ The type of data this cell&#8217;s value is cast to.
812
+ </p>
813
+ </div>
814
+
815
+ </li>
816
+
817
+ </ul>
818
+ <h3>Raises:</h3>
819
+ <ul class="raise">
820
+
821
+ <li>
822
+
823
+
824
+ <span class='type'>(<tt>ArgumentExeption</tt>)</span>
825
+
826
+
827
+
828
+ &mdash;
829
+ <div class='inline'><p>
830
+ Cell.type must be one of [:time, :float, :integer, :string]
831
+ </p>
832
+ </div>
833
+
834
+ </li>
835
+
836
+ </ul>
837
+
838
+ <h3>See Also:</h3>
839
+ <ul class="see">
840
+
841
+ <li><span class='object_link'><a href="#cell_type_from_value-instance_method" title="Axlsx::Cell#cell_type_from_value (method)">#cell_type_from_value</a></span></li>
842
+
843
+ </ul>
844
+
845
+ </div><table class="source_code">
846
+ <tr>
847
+ <td>
848
+ <pre class="lines">
849
+
850
+
851
+ 46
852
+ 47
853
+ 48</pre>
854
+ </td>
855
+ <td>
856
+ <pre class="code"><span class="info file"># File 'lib/axlsx/workbook/worksheet/cell.rb', line 46</span>
857
+
858
+ <span class='def def kw'>def</span> <span class='type identifier id'>type</span>
859
+ <span class='@type ivar id'>@type</span>
860
+ <span class='end end kw'>end</span>
861
+ </pre>
862
+ </td>
863
+ </tr>
864
+ </table>
865
+ </div>
866
+
867
+
868
+ <span id="value=-instance_method"></span>
869
+ <span id="value-instance_method"></span>
870
+ <div class="method_details ">
871
+ <p class="signature " id="value-instance_method">
872
+
873
+ - (<tt>Object</tt>) <strong>value</strong>
874
+
875
+
876
+
877
+ </p><div class="docstring">
878
+ <div class="discussion">
879
+ <p>
880
+ The value of this cell.
881
+ </p>
882
+
883
+
884
+ </div>
885
+ </div>
886
+ <div class="tags">
887
+
888
+ <h3>Returns:</h3>
889
+ <ul class="return">
890
+
891
+ <li>
892
+
893
+
894
+ <span class='type'></span>
895
+
896
+
897
+
898
+
899
+ <div class='inline'><p>
900
+ casted value based on cell&#8217;s type attribute.
901
+ </p>
902
+ </div>
903
+
904
+ </li>
905
+
906
+ </ul>
907
+
908
+ </div><table class="source_code">
909
+ <tr>
910
+ <td>
911
+ <pre class="lines">
912
+
913
+
914
+ 50
915
+ 51
916
+ 52</pre>
917
+ </td>
918
+ <td>
919
+ <pre class="code"><span class="info file"># File 'lib/axlsx/workbook/worksheet/cell.rb', line 50</span>
920
+
921
+ <span class='def def kw'>def</span> <span class='value identifier id'>value</span>
922
+ <span class='@value ivar id'>@value</span>
923
+ <span class='end end kw'>end</span>
924
+ </pre>
925
+ </td>
926
+ </tr>
927
+ </table>
928
+ </div>
929
+
930
+ </div>
931
+
932
+
933
+ <div id="instance_method_details" class="method_details_list">
934
+ <h2>Instance Method Details</h2>
935
+
936
+
937
+ <div class="method_details first">
938
+ <p class="signature first" id="cast_value-instance_method">
939
+
940
+ - (<tt>Object</tt>) <strong>cast_value</strong>(v)
941
+
942
+
943
+
944
+ </p><div class="docstring">
945
+ <div class="discussion">
946
+
947
+ <div class="note notetag">
948
+ <strong>Note:</strong>
949
+ <div class='inline'><p>
950
+ About Time - Time in OOXML is <b>different</b> from what you might expect.
951
+ The history as to why is interesting, but you can safely assume that if you
952
+ are generating docs on a mac, you will want to specify Workbook.1904 as
953
+ true when using time typed values.
954
+ </p>
955
+ </div>
956
+ </div>
957
+
958
+ <p>
959
+ Cast the value into this cells data type.
960
+ </p>
961
+
962
+
963
+ </div>
964
+ </div>
965
+ <div class="tags">
966
+
967
+
968
+ <h3>See Also:</h3>
969
+ <ul class="see">
970
+
971
+ <li>Axlsx#date1904</li>
972
+
973
+ </ul>
974
+
975
+ </div><table class="source_code">
976
+ <tr>
977
+ <td>
978
+ <pre class="lines">
979
+
980
+
981
+ 160
982
+ 161
983
+ 162
984
+ 163
985
+ 164
986
+ 165
987
+ 166
988
+ 167
989
+ 168
990
+ 169
991
+ 170
992
+ 171
993
+ 172
994
+ 173
995
+ 174
996
+ 175
997
+ 176
998
+ 177
999
+ 178
1000
+ 179
1001
+ 180
1002
+ 181
1003
+ 182</pre>
1004
+ </td>
1005
+ <td>
1006
+ <pre class="code"><span class="info file"># File 'lib/axlsx/workbook/worksheet/cell.rb', line 160</span>
1007
+
1008
+ <span class='def def kw'>def</span> <span class='cast_value identifier id'>cast_value</span><span class='lparen token'>(</span><span class='v identifier id'>v</span><span class='rparen token'>)</span>
1009
+ <span class='if if kw'>if</span> <span class='@type ivar id'>@type</span> <span class='eq op'>==</span> <span class='symbol val'>:time</span> <span class='andop op'>&amp;&amp;</span> <span class='v identifier id'>v</span><span class='dot token'>.</span><span class='is_a? fid id'>is_a?</span><span class='lparen token'>(</span><span class='Time constant id'>Time</span><span class='rparen token'>)</span>
1010
+ <span class='comment val'>#todo consider a time parsing method to convert strings to time</span>
1011
+ <span class='epoc identifier id'>epoc</span> <span class='assign token'>=</span> <span class='Workbook constant id'>Workbook</span><span class='dot token'>.</span><span class='date1904 identifier id'>date1904</span> <span class='integer val'>? </span><span class='Time constant id'>Time</span><span class='dot token'>.</span><span class='local identifier id'>local</span><span class='lparen token'>(</span><span class='integer val'>1904</span><span class='comma token'>,</span><span class='integer val'>1</span><span class='comma token'>,</span><span class='integer val'>1</span><span class='comma token'>,</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='v identifier id'>v</span><span class='dot token'>.</span><span class='zone identifier id'>zone</span><span class='rparen token'>)</span> <span class='colon op'>:</span> <span class='Time constant id'>Time</span><span class='dot token'>.</span><span class='local identifier id'>local</span><span class='lparen token'>(</span><span class='integer val'>1900</span><span class='comma token'>,</span><span class='integer val'>1</span><span class='comma token'>,</span><span class='integer val'>1</span><span class='comma token'>,</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='v identifier id'>v</span><span class='dot token'>.</span><span class='zone identifier id'>zone</span><span class='rparen token'>)</span>
1012
+ <span class='lparen token'>(</span><span class='lparen token'>(</span><span class='v identifier id'>v</span> <span class='minus op'>-</span> <span class='epoc identifier id'>epoc</span><span class='rparen token'>)</span> <span class='div op'>/</span><span class='float val'>60.0</span><span class='div op'>/</span><span class='float val'>60.0</span><span class='div op'>/</span><span class='float val'>24.0</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='to_f identifier id'>to_f</span>
1013
+ <span class='elsif elsif kw'>elsif</span> <span class='@type ivar id'>@type</span> <span class='eq op'>==</span> <span class='symbol val'>:float</span>
1014
+ <span class='v identifier id'>v</span><span class='dot token'>.</span><span class='to_f identifier id'>to_f</span>
1015
+ <span class='elsif elsif kw'>elsif</span> <span class='@type ivar id'>@type</span> <span class='eq op'>==</span> <span class='symbol val'>:integer</span>
1016
+ <span class='v identifier id'>v</span><span class='dot token'>.</span><span class='to_i identifier id'>to_i</span>
1017
+ <span class='else else kw'>else</span>
1018
+ <span class='@type ivar id'>@type</span> <span class='assign token'>=</span> <span class='symbol val'>:string</span>
1019
+ <span class='v identifier id'>v</span><span class='dot token'>.</span><span class='to_s identifier id'>to_s</span>
1020
+ <span class='comment val'># curious as to why this would be the cells responsibility</span>
1021
+ <span class='comment val'># convert your values before passing them in wankers! CGI.unescapeHTML(v.to_s).to_xs</span>
1022
+ <span class='comment val'># to revert, load this once when the gem is loaded.</span>
1023
+ <span class='comment val'># unless String.method_defined? :to_xs</span>
1024
+ <span class='comment val'># require 'fast_xs' #dep</span>
1025
+ <span class='comment val'># class String</span>
1026
+ <span class='comment val'># alias_method :to_xs, :fast_xs</span>
1027
+ <span class='comment val'># end</span>
1028
+ <span class='comment val'># end</span>
1029
+ <span class='end end kw'>end</span>
1030
+ <span class='end end kw'>end</span>
1031
+ </pre>
1032
+ </td>
1033
+ </tr>
1034
+ </table>
1035
+ </div>
1036
+
1037
+ <div class="method_details ">
1038
+ <p class="signature " id="cell_type_from_value-instance_method">
1039
+
1040
+ - (<tt>Symbol</tt>) <strong>cell_type_from_value</strong>(v)
1041
+
1042
+
1043
+
1044
+ </p><div class="docstring">
1045
+ <div class="discussion">
1046
+
1047
+ <div class="note notetag">
1048
+ <strong>Note:</strong>
1049
+ <div class='inline'><p>
1050
+ This is only used when a cell is created but no :type option is specified,
1051
+ the following rules apply:
1052
+ </p>
1053
+ <ol>
1054
+ <li>If the value is an instance of Time, the type is set to :time
1055
+
1056
+ </li>
1057
+ <li>:float and :integer types are determined by regular expression matching.
1058
+
1059
+ </li>
1060
+ <li>Anything that does not meet either of the above is determined to be
1061
+ :string.
1062
+
1063
+ </li>
1064
+ </ol>
1065
+ </div>
1066
+ </div>
1067
+
1068
+ <p>
1069
+ Determines the cell type based on the cell value.
1070
+ </p>
1071
+
1072
+
1073
+ </div>
1074
+ </div>
1075
+ <div class="tags">
1076
+
1077
+ <h3>Returns:</h3>
1078
+ <ul class="return">
1079
+
1080
+ <li>
1081
+
1082
+
1083
+ <span class='type'>(<tt>Symbol</tt>)</span>
1084
+
1085
+
1086
+
1087
+ &mdash;
1088
+ <div class='inline'><p>
1089
+ The determined type
1090
+ </p>
1091
+ </div>
1092
+
1093
+ </li>
1094
+
1095
+ </ul>
1096
+
1097
+ </div><table class="source_code">
1098
+ <tr>
1099
+ <td>
1100
+ <pre class="lines">
1101
+
1102
+
1103
+ 144
1104
+ 145
1105
+ 146
1106
+ 147
1107
+ 148
1108
+ 149
1109
+ 150
1110
+ 151
1111
+ 152
1112
+ 153
1113
+ 154</pre>
1114
+ </td>
1115
+ <td>
1116
+ <pre class="code"><span class="info file"># File 'lib/axlsx/workbook/worksheet/cell.rb', line 144</span>
1117
+
1118
+ <span class='def def kw'>def</span> <span class='cell_type_from_value identifier id'>cell_type_from_value</span><span class='lparen token'>(</span><span class='v identifier id'>v</span><span class='rparen token'>)</span>
1119
+ <span class='if if kw'>if</span> <span class='v identifier id'>v</span><span class='dot token'>.</span><span class='is_a? fid id'>is_a?</span> <span class='Time constant id'>Time</span>
1120
+ <span class='symbol val'>:time</span>
1121
+ <span class='elsif elsif kw'>elsif</span> <span class='v identifier id'>v</span><span class='dot token'>.</span><span class='to_s identifier id'>to_s</span><span class='dot token'>.</span><span class='match identifier id'>match</span><span class='lparen token'>(</span><span class='regexp val'>/\A[+-]?\d+?\Z/</span><span class='rparen token'>)</span> <span class='comment val'>#numeric</span>
1122
+ <span class='symbol val'>:integer</span>
1123
+ <span class='elsif elsif kw'>elsif</span> <span class='v identifier id'>v</span><span class='dot token'>.</span><span class='to_s identifier id'>to_s</span><span class='dot token'>.</span><span class='match identifier id'>match</span><span class='lparen token'>(</span><span class='regexp val'>/\A[+-]?\d+\.\d+?\Z/</span><span class='rparen token'>)</span> <span class='comment val'>#float</span>
1124
+ <span class='symbol val'>:float</span>
1125
+ <span class='else else kw'>else</span>
1126
+ <span class='symbol val'>:string</span>
1127
+ <span class='end end kw'>end</span>
1128
+ <span class='end end kw'>end</span>
1129
+ </pre>
1130
+ </td>
1131
+ </tr>
1132
+ </table>
1133
+ </div>
1134
+
1135
+ <div class="method_details ">
1136
+ <p class="signature " id="col_ref-instance_method">
1137
+
1138
+ - (<tt>String</tt>) <strong>col_ref</strong>
1139
+
1140
+
1141
+
1142
+ </p><div class="docstring">
1143
+ <div class="discussion">
1144
+
1145
+ <div class="note notetag">
1146
+ <strong>Note:</strong>
1147
+ <div class='inline'><p>
1148
+ This follows the standard spreadsheet convention of naming columns A to Z,
1149
+ followed by AA to AZ etc.
1150
+ </p>
1151
+ </div>
1152
+ </div>
1153
+
1154
+ <p>
1155
+ converts the column index into alphabetical values.
1156
+ </p>
1157
+
1158
+
1159
+ </div>
1160
+ </div>
1161
+ <div class="tags">
1162
+
1163
+ <h3>Returns:</h3>
1164
+ <ul class="return">
1165
+
1166
+ <li>
1167
+
1168
+
1169
+ <span class='type'>(<tt>String</tt>)</span>
1170
+
1171
+
1172
+
1173
+ </li>
1174
+
1175
+ </ul>
1176
+
1177
+ </div><table class="source_code">
1178
+ <tr>
1179
+ <td>
1180
+ <pre class="lines">
1181
+
1182
+
1183
+ 127
1184
+ 128
1185
+ 129
1186
+ 130
1187
+ 131
1188
+ 132
1189
+ 133
1190
+ 134
1191
+ 135
1192
+ 136
1193
+ 137
1194
+ 138
1195
+ 139
1196
+ 140
1197
+ 141
1198
+ 142
1199
+ 143
1200
+ 144
1201
+ 145
1202
+ 146
1203
+ 147
1204
+ 148
1205
+ 149
1206
+ 150
1207
+ 151
1208
+ 152
1209
+ 153
1210
+ 154
1211
+ 155
1212
+ 156
1213
+ 157
1214
+ 158
1215
+ 159
1216
+ 160
1217
+ 161
1218
+ 162
1219
+ 163
1220
+ 164
1221
+ 165
1222
+ 166
1223
+ 167
1224
+ 168
1225
+ 169
1226
+ 170
1227
+ 171
1228
+ 172
1229
+ 173
1230
+ 174
1231
+ 175
1232
+ 176
1233
+ 177
1234
+ 178
1235
+ 179
1236
+ 180
1237
+ 181
1238
+ 182
1239
+ 183</pre>
1240
+ </td>
1241
+ <td>
1242
+ <pre class="code"><span class="info file"># File 'lib/axlsx/workbook/worksheet/cell.rb', line 127</span>
1243
+
1244
+ <span class='def def kw'>def</span> <span class='col_ref identifier id'>col_ref</span>
1245
+ <span class='chars identifier id'>chars</span> <span class='assign token'>=</span> <span class='lbrack token'>[</span><span class='rbrack token'>]</span>
1246
+ <span class='index identifier id'>index</span> <span class='assign token'>=</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='index identifier id'>index</span>
1247
+ <span class='while while kw'>while</span> <span class='index identifier id'>index</span> <span class='geq op'>&gt;=</span> <span class='integer val'>26</span> <span class='do do kw'>do</span>
1248
+ <span class='chars identifier id'>chars</span> <span class='lshft op'>&lt;&lt;</span> <span class='lparen token'>(</span><span class='lparen token'>(</span><span class='index identifier id'>index</span> <span class='mod op'>%</span> <span class='integer val'>26</span><span class='rparen token'>)</span> <span class='plus op'>+</span> <span class='integer val'>65</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='chr identifier id'>chr</span>
1249
+ <span class='index identifier id'>index</span> <span class='opasgn op'>/=</span> <span class='integer val'>26</span>
1250
+ <span class='end end kw'>end</span>
1251
+ <span class='chars identifier id'>chars</span> <span class='lshft op'>&lt;&lt;</span> <span class='lparen token'>(</span><span class='lparen token'>(</span><span class='chars identifier id'>chars</span><span class='dot token'>.</span><span class='empty? fid id'>empty?</span> <span class='integer val'>? </span><span class='index identifier id'>index</span> <span class='colon op'>:</span> <span class='index identifier id'>index</span><span class='minus op'>-</span><span class='integer val'>1</span><span class='rparen token'>)</span> <span class='plus op'>+</span> <span class='integer val'>65</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='chr identifier id'>chr</span>
1252
+ <span class='chars identifier id'>chars</span><span class='dot token'>.</span><span class='reverse identifier id'>reverse</span><span class='dot token'>.</span><span class='join identifier id'>join</span>
1253
+ <span class='end end kw'>end</span>
1254
+
1255
+ <span class='comment val'># Determines the cell type based on the cell value. </span>
1256
+ <span class='comment val'># @note This is only used when a cell is created but no :type option is specified, the following rules apply:</span>
1257
+ <span class='comment val'># 1. If the value is an instance of Time, the type is set to :time</span>
1258
+ <span class='comment val'># 2. :float and :integer types are determined by regular expression matching.</span>
1259
+ <span class='comment val'># 3. Anything that does not meet either of the above is determined to be :string.</span>
1260
+ <span class='comment val'># @return [Symbol] The determined type</span>
1261
+ <span class='def def kw'>def</span> <span class='cell_type_from_value identifier id'>cell_type_from_value</span><span class='lparen token'>(</span><span class='v identifier id'>v</span><span class='rparen token'>)</span>
1262
+ <span class='if if kw'>if</span> <span class='v identifier id'>v</span><span class='dot token'>.</span><span class='is_a? fid id'>is_a?</span> <span class='Time constant id'>Time</span>
1263
+ <span class='symbol val'>:time</span>
1264
+ <span class='elsif elsif kw'>elsif</span> <span class='v identifier id'>v</span><span class='dot token'>.</span><span class='to_s identifier id'>to_s</span><span class='dot token'>.</span><span class='match identifier id'>match</span><span class='lparen token'>(</span><span class='regexp val'>/\A[+-]?\d+?\Z/</span><span class='rparen token'>)</span> <span class='comment val'>#numeric</span>
1265
+ <span class='symbol val'>:integer</span>
1266
+ <span class='elsif elsif kw'>elsif</span> <span class='v identifier id'>v</span><span class='dot token'>.</span><span class='to_s identifier id'>to_s</span><span class='dot token'>.</span><span class='match identifier id'>match</span><span class='lparen token'>(</span><span class='regexp val'>/\A[+-]?\d+\.\d+?\Z/</span><span class='rparen token'>)</span> <span class='comment val'>#float</span>
1267
+ <span class='symbol val'>:float</span>
1268
+ <span class='else else kw'>else</span>
1269
+ <span class='symbol val'>:string</span>
1270
+ <span class='end end kw'>end</span>
1271
+ <span class='end end kw'>end</span>
1272
+
1273
+ <span class='comment val'># Cast the value into this cells data type. </span>
1274
+ <span class='comment val'># @note </span>
1275
+ <span class='comment val'># About Time - Time in OOXML is *different* from what you might expect. The history as to why is interesting, but you can safely assume that if you are generating docs on a mac, you will want to specify Workbook.1904 as true when using time typed values.</span>
1276
+ <span class='comment val'># @see Axlsx#date1904</span>
1277
+ <span class='def def kw'>def</span> <span class='cast_value identifier id'>cast_value</span><span class='lparen token'>(</span><span class='v identifier id'>v</span><span class='rparen token'>)</span>
1278
+ <span class='if if kw'>if</span> <span class='@type ivar id'>@type</span> <span class='eq op'>==</span> <span class='symbol val'>:time</span> <span class='andop op'>&amp;&amp;</span> <span class='v identifier id'>v</span><span class='dot token'>.</span><span class='is_a? fid id'>is_a?</span><span class='lparen token'>(</span><span class='Time constant id'>Time</span><span class='rparen token'>)</span>
1279
+ <span class='comment val'>#todo consider a time parsing method to convert strings to time</span>
1280
+ <span class='epoc identifier id'>epoc</span> <span class='assign token'>=</span> <span class='Workbook constant id'>Workbook</span><span class='dot token'>.</span><span class='date1904 identifier id'>date1904</span> <span class='integer val'>? </span><span class='Time constant id'>Time</span><span class='dot token'>.</span><span class='local identifier id'>local</span><span class='lparen token'>(</span><span class='integer val'>1904</span><span class='comma token'>,</span><span class='integer val'>1</span><span class='comma token'>,</span><span class='integer val'>1</span><span class='comma token'>,</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='v identifier id'>v</span><span class='dot token'>.</span><span class='zone identifier id'>zone</span><span class='rparen token'>)</span> <span class='colon op'>:</span> <span class='Time constant id'>Time</span><span class='dot token'>.</span><span class='local identifier id'>local</span><span class='lparen token'>(</span><span class='integer val'>1900</span><span class='comma token'>,</span><span class='integer val'>1</span><span class='comma token'>,</span><span class='integer val'>1</span><span class='comma token'>,</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='integer val'>0</span><span class='comma token'>,</span><span class='v identifier id'>v</span><span class='dot token'>.</span><span class='zone identifier id'>zone</span><span class='rparen token'>)</span>
1281
+ <span class='lparen token'>(</span><span class='lparen token'>(</span><span class='v identifier id'>v</span> <span class='minus op'>-</span> <span class='epoc identifier id'>epoc</span><span class='rparen token'>)</span> <span class='div op'>/</span><span class='float val'>60.0</span><span class='div op'>/</span><span class='float val'>60.0</span><span class='div op'>/</span><span class='float val'>24.0</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='to_f identifier id'>to_f</span>
1282
+ <span class='elsif elsif kw'>elsif</span> <span class='@type ivar id'>@type</span> <span class='eq op'>==</span> <span class='symbol val'>:float</span>
1283
+ <span class='v identifier id'>v</span><span class='dot token'>.</span><span class='to_f identifier id'>to_f</span>
1284
+ <span class='elsif elsif kw'>elsif</span> <span class='@type ivar id'>@type</span> <span class='eq op'>==</span> <span class='symbol val'>:integer</span>
1285
+ <span class='v identifier id'>v</span><span class='dot token'>.</span><span class='to_i identifier id'>to_i</span>
1286
+ <span class='else else kw'>else</span>
1287
+ <span class='@type ivar id'>@type</span> <span class='assign token'>=</span> <span class='symbol val'>:string</span>
1288
+ <span class='v identifier id'>v</span><span class='dot token'>.</span><span class='to_s identifier id'>to_s</span>
1289
+ <span class='comment val'># curious as to why this would be the cells responsibility</span>
1290
+ <span class='comment val'># convert your values before passing them in wankers! CGI.unescapeHTML(v.to_s).to_xs</span>
1291
+ <span class='comment val'># to revert, load this once when the gem is loaded.</span>
1292
+ <span class='comment val'># unless String.method_defined? :to_xs</span>
1293
+ <span class='comment val'># require 'fast_xs' #dep</span>
1294
+ <span class='comment val'># class String</span>
1295
+ <span class='comment val'># alias_method :to_xs, :fast_xs</span>
1296
+ <span class='comment val'># end</span>
1297
+ <span class='comment val'># end</span>
1298
+ <span class='end end kw'>end</span>
1299
+ <span class='end end kw'>end</span>
1300
+ <span class='end end kw'>end</span>
1301
+ </pre>
1302
+ </td>
1303
+ </tr>
1304
+ </table>
1305
+ </div>
1306
+
1307
+ <div class="method_details ">
1308
+ <p class="signature " id="index-instance_method">
1309
+
1310
+ - (<tt>Integer</tt>) <strong>index</strong>
1311
+
1312
+
1313
+
1314
+ </p><div class="docstring">
1315
+ <div class="discussion">
1316
+ <p>
1317
+ The index of the cell in the containing row.
1318
+ </p>
1319
+
1320
+
1321
+ </div>
1322
+ </div>
1323
+ <div class="tags">
1324
+
1325
+ <h3>Returns:</h3>
1326
+ <ul class="return">
1327
+
1328
+ <li>
1329
+
1330
+
1331
+ <span class='type'>(<tt>Integer</tt>)</span>
1332
+
1333
+
1334
+
1335
+ &mdash;
1336
+ <div class='inline'><p>
1337
+ The index of the cell in the containing row.
1338
+ </p>
1339
+ </div>
1340
+
1341
+ </li>
1342
+
1343
+ </ul>
1344
+
1345
+ </div><table class="source_code">
1346
+ <tr>
1347
+ <td>
1348
+ <pre class="lines">
1349
+
1350
+
1351
+ 67
1352
+ 68
1353
+ 69</pre>
1354
+ </td>
1355
+ <td>
1356
+ <pre class="code"><span class="info file"># File 'lib/axlsx/workbook/worksheet/cell.rb', line 67</span>
1357
+
1358
+ <span class='def def kw'>def</span> <span class='index identifier id'>index</span>
1359
+ <span class='@row ivar id'>@row</span><span class='dot token'>.</span><span class='cells identifier id'>cells</span><span class='dot token'>.</span><span class='index identifier id'>index</span><span class='lparen token'>(</span><span class='self self kw'>self</span><span class='rparen token'>)</span>
1360
+ <span class='end end kw'>end</span>
1361
+ </pre>
1362
+ </td>
1363
+ </tr>
1364
+ </table>
1365
+ </div>
1366
+
1367
+ <div class="method_details ">
1368
+ <p class="signature " id="r-instance_method">
1369
+
1370
+ - (<tt>String</tt>) <strong>r</strong>
1371
+
1372
+
1373
+
1374
+ </p><div class="docstring">
1375
+ <div class="discussion">
1376
+ <p>
1377
+ The alpha(column)numeric(row) reference for this sell.
1378
+ </p>
1379
+
1380
+
1381
+ </div>
1382
+ </div>
1383
+ <div class="tags">
1384
+
1385
+ <div class="examples">
1386
+ <h3>Examples:</h3>
1387
+
1388
+ <h4><div class='inline'><p>
1389
+ Relative Cell Reference
1390
+ </p>
1391
+ </div></h4>
1392
+ <pre class="example code"><span class='ws identifier id'>ws</span><span class='dot token'>.</span><span class='rows identifier id'>rows</span><span class='dot token'>.</span><span class='first identifier id'>first</span><span class='dot token'>.</span><span class='cells identifier id'>cells</span><span class='dot token'>.</span><span class='first identifier id'>first</span><span class='dot token'>.</span><span class='r identifier id'>r</span> <span class='comment val'>#=&gt; &quot;A1&quot; </span>
1393
+ </pre>
1394
+
1395
+ </div>
1396
+
1397
+ <h3>Returns:</h3>
1398
+ <ul class="return">
1399
+
1400
+ <li>
1401
+
1402
+
1403
+ <span class='type'>(<tt>String</tt>)</span>
1404
+
1405
+
1406
+
1407
+ &mdash;
1408
+ <div class='inline'><p>
1409
+ The alpha(column)numeric(row) reference for this sell.
1410
+ </p>
1411
+ </div>
1412
+
1413
+ </li>
1414
+
1415
+ </ul>
1416
+
1417
+ </div><table class="source_code">
1418
+ <tr>
1419
+ <td>
1420
+ <pre class="lines">
1421
+
1422
+
1423
+ 74
1424
+ 75
1425
+ 76</pre>
1426
+ </td>
1427
+ <td>
1428
+ <pre class="code"><span class="info file"># File 'lib/axlsx/workbook/worksheet/cell.rb', line 74</span>
1429
+
1430
+ <span class='def def kw'>def</span> <span class='r identifier id'>r</span>
1431
+ <span class='dstring node'>&quot;#{col_ref}#{@row.index+1}&quot;</span>
1432
+ <span class='end end kw'>end</span>
1433
+ </pre>
1434
+ </td>
1435
+ </tr>
1436
+ </table>
1437
+ </div>
1438
+
1439
+ <div class="method_details ">
1440
+ <p class="signature " id="r_abs-instance_method">
1441
+
1442
+ - (<tt>String</tt>) <strong>r_abs</strong>
1443
+
1444
+
1445
+
1446
+ </p><div class="docstring">
1447
+ <div class="discussion">
1448
+ <p>
1449
+ The absolute alpha(column)numeric(row) reference for this sell.
1450
+ </p>
1451
+
1452
+
1453
+ </div>
1454
+ </div>
1455
+ <div class="tags">
1456
+
1457
+ <div class="examples">
1458
+ <h3>Examples:</h3>
1459
+
1460
+ <h4><div class='inline'><p>
1461
+ Absolute Cell Reference
1462
+ </p>
1463
+ </div></h4>
1464
+ <pre class="example code"><span class='ws identifier id'>ws</span><span class='dot token'>.</span><span class='rows identifier id'>rows</span><span class='dot token'>.</span><span class='first identifier id'>first</span><span class='dot token'>.</span><span class='cells identifier id'>cells</span><span class='dot token'>.</span><span class='first identifier id'>first</span><span class='dot token'>.</span><span class='r identifier id'>r</span> <span class='comment val'>#=&gt; &quot;$A$1&quot; </span>
1465
+ </pre>
1466
+
1467
+ </div>
1468
+
1469
+ <h3>Returns:</h3>
1470
+ <ul class="return">
1471
+
1472
+ <li>
1473
+
1474
+
1475
+ <span class='type'>(<tt>String</tt>)</span>
1476
+
1477
+
1478
+
1479
+ &mdash;
1480
+ <div class='inline'><p>
1481
+ The absolute alpha(column)numeric(row) reference for this sell.
1482
+ </p>
1483
+ </div>
1484
+
1485
+ </li>
1486
+
1487
+ </ul>
1488
+
1489
+ </div><table class="source_code">
1490
+ <tr>
1491
+ <td>
1492
+ <pre class="lines">
1493
+
1494
+
1495
+ 81
1496
+ 82
1497
+ 83</pre>
1498
+ </td>
1499
+ <td>
1500
+ <pre class="code"><span class="info file"># File 'lib/axlsx/workbook/worksheet/cell.rb', line 81</span>
1501
+
1502
+ <span class='def def kw'>def</span> <span class='r_abs identifier id'>r_abs</span>
1503
+ <span class='dstring node'>&quot;$#{r.split('').join('$')}&quot;</span>
1504
+ <span class='end end kw'>end</span>
1505
+ </pre>
1506
+ </td>
1507
+ </tr>
1508
+ </table>
1509
+ </div>
1510
+
1511
+ <div class="method_details ">
1512
+ <p class="signature " id="to_xml-instance_method">
1513
+
1514
+ - (<tt>String</tt>) <strong>to_xml</strong>(xml)
1515
+
1516
+
1517
+
1518
+ </p><div class="docstring">
1519
+ <div class="discussion">
1520
+
1521
+ <div class="note notetag">
1522
+ <strong>Note:</strong>
1523
+ <div class='inline'><p>
1524
+ Shared Strings are not used in this library. All values are set directly in
1525
+ the each sheet.
1526
+ </p>
1527
+ </div>
1528
+ </div>
1529
+
1530
+ <p>
1531
+ Serializes the cell
1532
+ </p>
1533
+
1534
+
1535
+ </div>
1536
+ </div>
1537
+ <div class="tags">
1538
+ <h3>Parameters:</h3>
1539
+ <ul class="param">
1540
+
1541
+ <li>
1542
+
1543
+ <span class='name'>xml</span>
1544
+
1545
+
1546
+ <span class='type'>(<tt>Nokogiri::XML::Builder</tt>)</span>
1547
+
1548
+
1549
+
1550
+ &mdash;
1551
+ <div class='inline'><p>
1552
+ The document builder instance this objects xml will be added to.
1553
+ </p>
1554
+ </div>
1555
+
1556
+ </li>
1557
+
1558
+ </ul>
1559
+
1560
+ <h3>Returns:</h3>
1561
+ <ul class="return">
1562
+
1563
+ <li>
1564
+
1565
+
1566
+ <span class='type'>(<tt>String</tt>)</span>
1567
+
1568
+
1569
+
1570
+ &mdash;
1571
+ <div class='inline'><p>
1572
+ xml text for the cell
1573
+ </p>
1574
+ </div>
1575
+
1576
+ </li>
1577
+
1578
+ </ul>
1579
+
1580
+ </div><table class="source_code">
1581
+ <tr>
1582
+ <td>
1583
+ <pre class="lines">
1584
+
1585
+
1586
+ 110
1587
+ 111
1588
+ 112
1589
+ 113
1590
+ 114
1591
+ 115
1592
+ 116
1593
+ 117</pre>
1594
+ </td>
1595
+ <td>
1596
+ <pre class="code"><span class="info file"># File 'lib/axlsx/workbook/worksheet/cell.rb', line 110</span>
1597
+
1598
+ <span class='def def kw'>def</span> <span class='to_xml identifier id'>to_xml</span><span class='lparen token'>(</span><span class='xml identifier id'>xml</span><span class='rparen token'>)</span>
1599
+ <span class='if if kw'>if</span> <span class='@type ivar id'>@type</span> <span class='eq op'>==</span> <span class='symbol val'>:string</span>
1600
+ <span class='comment val'>#NOTE not sure why, but xml.t @v renders the text as html entities of unicode data</span>
1601
+ <span class='xml identifier id'>xml</span><span class='dot token'>.</span><span class='c identifier id'>c</span><span class='lparen token'>(</span><span class='symbol val'>:r</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='r identifier id'>r</span><span class='comma token'>,</span> <span class='symbol val'>:t=</span><span class='gt op'>&gt;</span><span class='symbol val'>:inlineStr</span><span class='comma token'>,</span> <span class='symbol val'>:s=</span><span class='gt op'>&gt;</span><span class='style identifier id'>style</span><span class='rparen token'>)</span> <span class='lbrace token'>{</span> <span class='xml identifier id'>xml</span><span class='dot token'>.</span><span class='is identifier id'>is</span> <span class='lbrace token'>{</span> <span class='xml identifier id'>xml</span> <span class='lshft op'>&lt;&lt;</span> <span class='dstring node'>&quot;&lt;t&gt;#{value}&lt;/t&gt;&quot;</span> <span class='rbrace token'>}</span> <span class='rbrace token'>}</span>
1602
+ <span class='else else kw'>else</span>
1603
+ <span class='xml identifier id'>xml</span><span class='dot token'>.</span><span class='c identifier id'>c</span><span class='lparen token'>(</span><span class='symbol val'>:r</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='r identifier id'>r</span><span class='comma token'>,</span> <span class='symbol val'>:s</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='style identifier id'>style</span><span class='rparen token'>)</span> <span class='lbrace token'>{</span> <span class='xml identifier id'>xml</span><span class='dot token'>.</span><span class='v identifier id'>v</span> <span class='value identifier id'>value</span> <span class='rbrace token'>}</span>
1604
+ <span class='end end kw'>end</span>
1605
+ <span class='end end kw'>end</span>
1606
+ </pre>
1607
+ </td>
1608
+ </tr>
1609
+ </table>
1610
+ </div>
1611
+
1612
+ </div>
1613
+
1614
+ </div>
1615
+
1616
+ <div id="footer">
1617
+ Generated on Tue Nov 22 00:27:56 2011 by
1618
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1619
+ 0.7.3 (ruby-1.8.7).
1620
+ </div>
1621
+
1622
+ </body>
1623
+ </html>