axlsx 1.0.5 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
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>