diff options
Diffstat (limited to 'doc/Axlsx/Cell.html')
| -rw-r--r-- | doc/Axlsx/Cell.html | 1623 |
1 files changed, 1623 insertions, 0 deletions
diff --git a/doc/Axlsx/Cell.html b/doc/Axlsx/Cell.html new file mode 100644 index 00000000..3dfc11f1 --- /dev/null +++ b/doc/Axlsx/Cell.html @@ -0,0 +1,1623 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<title> + Class: Axlsx::Cell + + — Documentation by YARD 0.7.3 + +</title> + + <link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" /> + + <link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" /> + +<script type="text/javascript" charset="utf-8"> + relpath = '..'; + if (relpath != '') relpath += '/'; +</script> + + <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script> + + <script type="text/javascript" charset="utf-8" src="../js/app.js"></script> + + + </head> + <body> + <script type="text/javascript" charset="utf-8"> + if (window.top.frames.main) document.body.className = 'frames'; + </script> + + <div id="header"> + <div id="menu"> + + <a href="../_index.html">Index (C)</a> » + <span class='title'><span class='object_link'><a href="../Axlsx.html" title="Axlsx (module)">Axlsx</a></span></span> + » + <span class="title">Cell</span> + + + <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div> +</div> + + <div id="search"> + + <a id="class_list_link" href="#">Class List</a> + + <a id="method_list_link" href="#">Method List</a> + + <a id="file_list_link" href="#">File List</a> + +</div> + <div class="clear"></div> + </div> + + <iframe id="search_frame"></iframe> + + <div id="content"><h1>Class: Axlsx::Cell + + + +</h1> + +<dl class="box"> + + <dt class="r1">Inherits:</dt> + <dd class="r1"> + <span class="inheritName">Object</span> + + <ul class="fullTree"> + <li>Object</li> + + <li class="next">Axlsx::Cell</li> + + </ul> + <a href="#" class="inheritanceTree">show all</a> + + </dd> + + + + + + + + + + <dt class="r2 last">Defined in:</dt> + <dd class="r2 last">lib/axlsx/workbook/worksheet/cell.rb</dd> + +</dl> +<div class="clear"></div> + +<h2>Overview</h2><div class="docstring"> + <div class="discussion"> + + <div class="note notetag"> + <strong>Note:</strong> + <div class='inline'><p> +The recommended way to generate cells is via Worksheet#add_row +</p> +</div> + </div> + +<p> +A cell in a worksheet. Cell stores inforamation requried to serialize a +single worksheet cell to xml. You must provde the Row that the cell belongs +to and the cells value. The data type will automatically be determed if you +do not specify the :type option. The default style will be applied if you +do not supply the :style option. Changing the cell’s type will recast +the value to the type specified. Altering the cell’s value via the +property accessor will also automatically cast the provided value to the +cell’s type. +</p> + + + </div> +</div> +<div class="tags"> + + <div class="examples"> + <h3>Examples:</h3> + + <h4><div class='inline'><p> +Manually creating and manipulating Cell objects +</p> +</div></h4> + <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> +<span class='comment val'># This is the simple, and recommended way to create cells. Data types will automatically be determined for you.</span> +<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'>></span> <span class='lbrack token'>[</span><span class='integer val'>1</span><span class='comma token'>,</span><span class='string val'>"fish"</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> + +<span class='comment val'># but you can also do this</span> +<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> +<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> + +<span class='comment val'># or even this</span> +<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> +<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'>></span><span class='integer identifier id'>integer</span> + +<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> +<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> +</pre> + + </div> + + + <h3>See Also:</h3> + <ul class="see"> + + <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> + + </ul> + +</div> + + <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2> + <ul class="summary"> + + <li class="public "> + <span class="summary_signature"> + + <a href="#row-instance_method" title="#row (instance method)">- (Row) <strong>row</strong> </a> + + + + </span> + + + + + + + + + + + + <span class="summary_desc"><div class='inline'><p> +The row this cell belongs to. +</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> + + <a href="#style-instance_method" title="#style (instance method)">- (Integer) <strong>style</strong> </a> + + + + </span> + + + + + + + + + + + + <span class="summary_desc"><div class='inline'><p> +The index of the cellXfs item to be applied to this cell. +</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> + + <a href="#type-instance_method" title="#type (instance method)">- (Symbol) <strong>type</strong> </a> + + + + </span> + + + + + + + + + + + + <span class="summary_desc"><div class='inline'><p> +The cell’s data type. +</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> + + <a href="#value-instance_method" title="#value (instance method)">- (Object) <strong>value</strong> </a> + + + + </span> + + + + + + + + + + + + <span class="summary_desc"><div class='inline'><p> +The value of this cell. +</p> +</div></span> + +</li> + + + </ul> + + + + + + <h2> + Instance Method Summary + <small>(<a href="#" class="summary_toggle">collapse</a>)</small> + </h2> + + <ul class="summary"> + + <li class="public "> + <span class="summary_signature"> + + <a href="#cast_value-instance_method" title="#cast_value (instance method)">- (Object) <strong>cast_value</strong>(v) </a> + + + + </span> + + + + + + + + + <span class="summary_desc"><div class='inline'><p> +Cast the value into this cells data type. +</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> + + <a href="#cell_type_from_value-instance_method" title="#cell_type_from_value (instance method)">- (Symbol) <strong>cell_type_from_value</strong>(v) </a> + + + + </span> + + + + + + + + + <span class="summary_desc"><div class='inline'><p> +Determines the cell type based on the cell value. +</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> + + <a href="#col_ref-instance_method" title="#col_ref (instance method)">- (String) <strong>col_ref</strong> </a> + + + + </span> + + + + + + + + + <span class="summary_desc"><div class='inline'><p> +converts the column index into alphabetical values. +</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> + + <a href="#index-instance_method" title="#index (instance method)">- (Integer) <strong>index</strong> </a> + + + + </span> + + + + + + + + + <span class="summary_desc"><div class='inline'><p> +The index of the cell in the containing row. +</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> + + <a href="#initialize-instance_method" title="#initialize (instance method)">- (Cell) <strong>initialize</strong>(row, value = "", options = {}) </a> + + + + </span> + + <span class="note title constructor">constructor</span> + + + + + + + + + <span class="summary_desc"><div class='inline'><p> +A new instance of Cell. +</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> + + <a href="#r-instance_method" title="#r (instance method)">- (String) <strong>r</strong> </a> + + + + </span> + + + + + + + + + <span class="summary_desc"><div class='inline'><p> +The alpha(column)numeric(row) reference for this sell. +</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> + + <a href="#r_abs-instance_method" title="#r_abs (instance method)">- (String) <strong>r_abs</strong> </a> + + + + </span> + + + + + + + + + <span class="summary_desc"><div class='inline'><p> +The absolute alpha(column)numeric(row) reference for this sell. +</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> + + <a href="#to_xml-instance_method" title="#to_xml (instance method)">- (String) <strong>to_xml</strong>(xml) </a> + + + + </span> + + + + + + + + + <span class="summary_desc"><div class='inline'><p> +Serializes the cell. +</p> +</div></span> + +</li> + + + </ul> + + +<div id="constructor_details" class="method_details_list"> + <h2>Constructor Details</h2> + + <div class="method_details first"> + <p class="signature first" id="initialize-instance_method"> + + - (<tt><span class='object_link'><a href="" title="Axlsx::Cell (class)">Cell</a></span></tt>) <strong>initialize</strong>(row, value = "", options = {}) + + + +</p><div class="docstring"> + <div class="discussion"> + <p> +A new instance of Cell +</p> + + + </div> +</div> +<div class="tags"> + <h3>Parameters:</h3> +<ul class="param"> + + <li> + + <span class='name'>row</span> + + + <span class='type'>(<tt><span class='object_link'><a href="Row.html" title="Axlsx::Row (class)">Row</a></span></tt>)</span> + + + + — + <div class='inline'><p> +The row this cell belongs to. +</p> +</div> + + </li> + + <li> + + <span class='name'>value</span> + + + <span class='type'>(<tt>Any</tt>)</span> + + + <em class="default">(defaults to: <tt>""</tt>)</em> + + + — + <div class='inline'><p> +The value associated with this cell. +</p> +</div> + + </li> + + <li> + + <span class='name'>options</span> + + + <span class='type'>(<tt>Hash</tt>)</span> + + + <em class="default">(defaults to: <tt>{}</tt>)</em> + + + — + <div class='inline'><p> +a customizable set of options +</p> +</div> + + </li> + +</ul> + + + + + + + + + <h3>Options Hash (<tt>options</tt>):</h3> + <ul class="option"> + + <li> + <span class="name">type</span> + <span class="type">(<tt>Symbol</tt>)</span> + <span class="default"> + + </span> + — <div class='inline'><p> +The intended data type for this cell. If not specified the data type will +be determined internally based on the vlue provided. +</p> +</div> + </li> + + <li> + <span class="name">style</span> + <span class="type">(<tt>Integer</tt>)</span> + <span class="default"> + + </span> + — <div class='inline'><p> +The index of the cellXfs item to be applied to this cell. If not specified, +the default style (0) will be applied. +</p> +</div> + </li> + + </ul> + + + +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +56 +57 +58 +59 +60 +61 +62 +63 +64</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/axlsx/workbook/worksheet/cell.rb', line 56</span> + +<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'>""</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> + <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> + <span class='comment val'>#reference for validation</span> + <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> + <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> + <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> + <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> + <span class='@row ivar id'>@row</span><span class='dot token'>.</span><span class='cells identifier id'>cells</span> <span class='lshft op'><<</span> <span class='self self kw'>self</span> +<span class='end end kw'>end</span> +</pre> + </td> + </tr> +</table> +</div> + +</div> + + <div id="instance_attr_details" class="attr_details"> + <h2>Instance Attribute Details</h2> + + + <span id="row=-instance_method"></span> + <span id="row-instance_method"></span> + <div class="method_details first"> + <p class="signature first" id="row-instance_method"> + + - (<tt><span class='object_link'><a href="Row.html" title="Axlsx::Row (class)">Row</a></span></tt>) <strong>row</strong> + + + +</p><div class="docstring"> + <div class="discussion"> + <p> +The row this cell belongs to. +</p> + + + </div> +</div> +<div class="tags"> + +<h3>Returns:</h3> +<ul class="return"> + + <li> + + + <span class='type'>(<tt><span class='object_link'><a href="Row.html" title="Axlsx::Row (class)">Row</a></span></tt>)</span> + + + + </li> + +</ul> + +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +32 +33 +34</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/axlsx/workbook/worksheet/cell.rb', line 32</span> + +<span class='def def kw'>def</span> <span class='row identifier id'>row</span> + <span class='@row ivar id'>@row</span> +<span class='end end kw'>end</span> +</pre> + </td> + </tr> +</table> +</div> + + + <span id="style=-instance_method"></span> + <span id="style-instance_method"></span> + <div class="method_details "> + <p class="signature " id="style-instance_method"> + + - (<tt>Integer</tt>) <strong>style</strong> + + + +</p><div class="docstring"> + <div class="discussion"> + <p> +The index of the cellXfs item to be applied to this cell. +</p> + + + </div> +</div> +<div class="tags"> + +<h3>Returns:</h3> +<ul class="return"> + + <li> + + + <span class='type'>(<tt>Integer</tt>)</span> + + + + </li> + +</ul> + + <h3>See Also:</h3> + <ul class="see"> + + <li><span class='object_link'><a href="Styles.html" title="Axlsx::Styles (class)">Styles</a></span></li> + + </ul> + +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +28 +29 +30</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/axlsx/workbook/worksheet/cell.rb', line 28</span> + +<span class='def def kw'>def</span> <span class='style identifier id'>style</span> + <span class='@style ivar id'>@style</span> +<span class='end end kw'>end</span> +</pre> + </td> + </tr> +</table> +</div> + + + <span id="type=-instance_method"></span> + <span id="type-instance_method"></span> + <div class="method_details "> + <p class="signature " id="type-instance_method"> + + - (<tt>Symbol</tt>) <strong>type</strong> + + + +</p><div class="docstring"> + <div class="discussion"> + + <div class="note notetag"> + <strong>Note:</strong> + <div class='inline'><p> +If the value provided cannot be cast into the type specified, type is +changed to :string and the following logic is applied. +</p> +<pre class="code"> + <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> + <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> +</pre> +<p> +No support is currently implemented for parsing time strings. +</p> +</div> + </div> + +<p> +The cell’s data type. Currently only four types are supported, :time, +:float, :integer and :string. Changing the type for a cell will recast the +value into that type. If no type option is specified in the constructor, +the type is automatically determed. +</p> + + + </div> +</div> +<div class="tags"> + +<h3>Returns:</h3> +<ul class="return"> + + <li> + + + <span class='type'>(<tt>Symbol</tt>)</span> + + + + — + <div class='inline'><p> +The type of data this cell’s value is cast to. +</p> +</div> + + </li> + +</ul> +<h3>Raises:</h3> +<ul class="raise"> + + <li> + + + <span class='type'>(<tt>ArgumentExeption</tt>)</span> + + + + — + <div class='inline'><p> +Cell.type must be one of [:time, :float, :integer, :string] +</p> +</div> + + </li> + +</ul> + + <h3>See Also:</h3> + <ul class="see"> + + <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> + + </ul> + +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +46 +47 +48</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/axlsx/workbook/worksheet/cell.rb', line 46</span> + +<span class='def def kw'>def</span> <span class='type identifier id'>type</span> + <span class='@type ivar id'>@type</span> +<span class='end end kw'>end</span> +</pre> + </td> + </tr> +</table> +</div> + + + <span id="value=-instance_method"></span> + <span id="value-instance_method"></span> + <div class="method_details "> + <p class="signature " id="value-instance_method"> + + - (<tt>Object</tt>) <strong>value</strong> + + + +</p><div class="docstring"> + <div class="discussion"> + <p> +The value of this cell. +</p> + + + </div> +</div> +<div class="tags"> + +<h3>Returns:</h3> +<ul class="return"> + + <li> + + + <span class='type'></span> + + + + + <div class='inline'><p> +casted value based on cell’s type attribute. +</p> +</div> + + </li> + +</ul> + +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +50 +51 +52</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/axlsx/workbook/worksheet/cell.rb', line 50</span> + +<span class='def def kw'>def</span> <span class='value identifier id'>value</span> + <span class='@value ivar id'>@value</span> +<span class='end end kw'>end</span> +</pre> + </td> + </tr> +</table> +</div> + + </div> + + + <div id="instance_method_details" class="method_details_list"> + <h2>Instance Method Details</h2> + + + <div class="method_details first"> + <p class="signature first" id="cast_value-instance_method"> + + - (<tt>Object</tt>) <strong>cast_value</strong>(v) + + + +</p><div class="docstring"> + <div class="discussion"> + + <div class="note notetag"> + <strong>Note:</strong> + <div class='inline'><p> +About Time - Time in OOXML is <b>different</b> 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. +</p> +</div> + </div> + +<p> +Cast the value into this cells data type. +</p> + + + </div> +</div> +<div class="tags"> + + + <h3>See Also:</h3> + <ul class="see"> + + <li>Axlsx#date1904</li> + + </ul> + +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/axlsx/workbook/worksheet/cell.rb', line 160</span> + +<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> + <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'>&&</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> + <span class='comment val'>#todo consider a time parsing method to convert strings to time</span> + <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> + <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> + <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> + <span class='v identifier id'>v</span><span class='dot token'>.</span><span class='to_f identifier id'>to_f</span> + <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> + <span class='v identifier id'>v</span><span class='dot token'>.</span><span class='to_i identifier id'>to_i</span> + <span class='else else kw'>else</span> + <span class='@type ivar id'>@type</span> <span class='assign token'>=</span> <span class='symbol val'>:string</span> + <span class='v identifier id'>v</span><span class='dot token'>.</span><span class='to_s identifier id'>to_s</span> + <span class='comment val'># curious as to why this would be the cells responsibility</span> + <span class='comment val'># convert your values before passing them in wankers! CGI.unescapeHTML(v.to_s).to_xs</span> + <span class='comment val'># to revert, load this once when the gem is loaded.</span> + <span class='comment val'># unless String.method_defined? :to_xs</span> + <span class='comment val'># require 'fast_xs' #dep</span> + <span class='comment val'># class String</span> + <span class='comment val'># alias_method :to_xs, :fast_xs</span> + <span class='comment val'># end</span> + <span class='comment val'># end</span> + <span class='end end kw'>end</span> +<span class='end end kw'>end</span> +</pre> + </td> + </tr> +</table> +</div> + + <div class="method_details "> + <p class="signature " id="cell_type_from_value-instance_method"> + + - (<tt>Symbol</tt>) <strong>cell_type_from_value</strong>(v) + + + +</p><div class="docstring"> + <div class="discussion"> + + <div class="note notetag"> + <strong>Note:</strong> + <div class='inline'><p> +This is only used when a cell is created but no :type option is specified, +the following rules apply: +</p> +<ol> +<li>If the value is an instance of Time, the type is set to :time + +</li> +<li>:float and :integer types are determined by regular expression matching. + +</li> +<li>Anything that does not meet either of the above is determined to be +:string. + +</li> +</ol> +</div> + </div> + +<p> +Determines the cell type based on the cell value. +</p> + + + </div> +</div> +<div class="tags"> + +<h3>Returns:</h3> +<ul class="return"> + + <li> + + + <span class='type'>(<tt>Symbol</tt>)</span> + + + + — + <div class='inline'><p> +The determined type +</p> +</div> + + </li> + +</ul> + +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/axlsx/workbook/worksheet/cell.rb', line 144</span> + +<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> + <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> + <span class='symbol val'>:time</span> + <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> + <span class='symbol val'>:integer</span> + <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> + <span class='symbol val'>:float</span> + <span class='else else kw'>else</span> + <span class='symbol val'>:string</span> + <span class='end end kw'>end</span> +<span class='end end kw'>end</span> +</pre> + </td> + </tr> +</table> +</div> + + <div class="method_details "> + <p class="signature " id="col_ref-instance_method"> + + - (<tt>String</tt>) <strong>col_ref</strong> + + + +</p><div class="docstring"> + <div class="discussion"> + + <div class="note notetag"> + <strong>Note:</strong> + <div class='inline'><p> +This follows the standard spreadsheet convention of naming columns A to Z, +followed by AA to AZ etc. +</p> +</div> + </div> + +<p> +converts the column index into alphabetical values. +</p> + + + </div> +</div> +<div class="tags"> + +<h3>Returns:</h3> +<ul class="return"> + + <li> + + + <span class='type'>(<tt>String</tt>)</span> + + + + </li> + +</ul> + +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/axlsx/workbook/worksheet/cell.rb', line 127</span> + +<span class='def def kw'>def</span> <span class='col_ref identifier id'>col_ref</span> + <span class='chars identifier id'>chars</span> <span class='assign token'>=</span> <span class='lbrack token'>[</span><span class='rbrack token'>]</span> + <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> + <span class='while while kw'>while</span> <span class='index identifier id'>index</span> <span class='geq op'>>=</span> <span class='integer val'>26</span> <span class='do do kw'>do</span> + <span class='chars identifier id'>chars</span> <span class='lshft op'><<</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> + <span class='index identifier id'>index</span> <span class='opasgn op'>/=</span> <span class='integer val'>26</span> + <span class='end end kw'>end</span> + <span class='chars identifier id'>chars</span> <span class='lshft op'><<</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> + <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> + <span class='end end kw'>end</span> + + <span class='comment val'># Determines the cell type based on the cell value. </span> + <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> + <span class='comment val'># 1. If the value is an instance of Time, the type is set to :time</span> + <span class='comment val'># 2. :float and :integer types are determined by regular expression matching.</span> + <span class='comment val'># 3. Anything that does not meet either of the above is determined to be :string.</span> + <span class='comment val'># @return [Symbol] The determined type</span> + <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> + <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> + <span class='symbol val'>:time</span> + <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> + <span class='symbol val'>:integer</span> + <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> + <span class='symbol val'>:float</span> + <span class='else else kw'>else</span> + <span class='symbol val'>:string</span> + <span class='end end kw'>end</span> + <span class='end end kw'>end</span> + + <span class='comment val'># Cast the value into this cells data type. </span> + <span class='comment val'># @note </span> + <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> + <span class='comment val'># @see Axlsx#date1904</span> + <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> + <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'>&&</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> + <span class='comment val'>#todo consider a time parsing method to convert strings to time</span> + <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> + <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> + <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> + <span class='v identifier id'>v</span><span class='dot token'>.</span><span class='to_f identifier id'>to_f</span> + <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> + <span class='v identifier id'>v</span><span class='dot token'>.</span><span class='to_i identifier id'>to_i</span> + <span class='else else kw'>else</span> + <span class='@type ivar id'>@type</span> <span class='assign token'>=</span> <span class='symbol val'>:string</span> + <span class='v identifier id'>v</span><span class='dot token'>.</span><span class='to_s identifier id'>to_s</span> + <span class='comment val'># curious as to why this would be the cells responsibility</span> + <span class='comment val'># convert your values before passing them in wankers! CGI.unescapeHTML(v.to_s).to_xs</span> + <span class='comment val'># to revert, load this once when the gem is loaded.</span> + <span class='comment val'># unless String.method_defined? :to_xs</span> + <span class='comment val'># require 'fast_xs' #dep</span> + <span class='comment val'># class String</span> + <span class='comment val'># alias_method :to_xs, :fast_xs</span> + <span class='comment val'># end</span> + <span class='comment val'># end</span> + <span class='end end kw'>end</span> + <span class='end end kw'>end</span> +<span class='end end kw'>end</span> +</pre> + </td> + </tr> +</table> +</div> + + <div class="method_details "> + <p class="signature " id="index-instance_method"> + + - (<tt>Integer</tt>) <strong>index</strong> + + + +</p><div class="docstring"> + <div class="discussion"> + <p> +The index of the cell in the containing row. +</p> + + + </div> +</div> +<div class="tags"> + +<h3>Returns:</h3> +<ul class="return"> + + <li> + + + <span class='type'>(<tt>Integer</tt>)</span> + + + + — + <div class='inline'><p> +The index of the cell in the containing row. +</p> +</div> + + </li> + +</ul> + +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +67 +68 +69</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/axlsx/workbook/worksheet/cell.rb', line 67</span> + +<span class='def def kw'>def</span> <span class='index identifier id'>index</span> + <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> +<span class='end end kw'>end</span> +</pre> + </td> + </tr> +</table> +</div> + + <div class="method_details "> + <p class="signature " id="r-instance_method"> + + - (<tt>String</tt>) <strong>r</strong> + + + +</p><div class="docstring"> + <div class="discussion"> + <p> +The alpha(column)numeric(row) reference for this sell. +</p> + + + </div> +</div> +<div class="tags"> + + <div class="examples"> + <h3>Examples:</h3> + + <h4><div class='inline'><p> +Relative Cell Reference +</p> +</div></h4> + <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'>#=> "A1" </span> +</pre> + + </div> + +<h3>Returns:</h3> +<ul class="return"> + + <li> + + + <span class='type'>(<tt>String</tt>)</span> + + + + — + <div class='inline'><p> +The alpha(column)numeric(row) reference for this sell. +</p> +</div> + + </li> + +</ul> + +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +74 +75 +76</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/axlsx/workbook/worksheet/cell.rb', line 74</span> + +<span class='def def kw'>def</span> <span class='r identifier id'>r</span> + <span class='dstring node'>"#{col_ref}#{@row.index+1}"</span> +<span class='end end kw'>end</span> +</pre> + </td> + </tr> +</table> +</div> + + <div class="method_details "> + <p class="signature " id="r_abs-instance_method"> + + - (<tt>String</tt>) <strong>r_abs</strong> + + + +</p><div class="docstring"> + <div class="discussion"> + <p> +The absolute alpha(column)numeric(row) reference for this sell. +</p> + + + </div> +</div> +<div class="tags"> + + <div class="examples"> + <h3>Examples:</h3> + + <h4><div class='inline'><p> +Absolute Cell Reference +</p> +</div></h4> + <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'>#=> "$A$1" </span> +</pre> + + </div> + +<h3>Returns:</h3> +<ul class="return"> + + <li> + + + <span class='type'>(<tt>String</tt>)</span> + + + + — + <div class='inline'><p> +The absolute alpha(column)numeric(row) reference for this sell. +</p> +</div> + + </li> + +</ul> + +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +81 +82 +83</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/axlsx/workbook/worksheet/cell.rb', line 81</span> + +<span class='def def kw'>def</span> <span class='r_abs identifier id'>r_abs</span> + <span class='dstring node'>"$#{r.split('').join('$')}"</span> +<span class='end end kw'>end</span> +</pre> + </td> + </tr> +</table> +</div> + + <div class="method_details "> + <p class="signature " id="to_xml-instance_method"> + + - (<tt>String</tt>) <strong>to_xml</strong>(xml) + + + +</p><div class="docstring"> + <div class="discussion"> + + <div class="note notetag"> + <strong>Note:</strong> + <div class='inline'><p> +Shared Strings are not used in this library. All values are set directly in +the each sheet. +</p> +</div> + </div> + +<p> +Serializes the cell +</p> + + + </div> +</div> +<div class="tags"> + <h3>Parameters:</h3> +<ul class="param"> + + <li> + + <span class='name'>xml</span> + + + <span class='type'>(<tt>Nokogiri::XML::Builder</tt>)</span> + + + + — + <div class='inline'><p> +The document builder instance this objects xml will be added to. +</p> +</div> + + </li> + +</ul> + +<h3>Returns:</h3> +<ul class="return"> + + <li> + + + <span class='type'>(<tt>String</tt>)</span> + + + + — + <div class='inline'><p> +xml text for the cell +</p> +</div> + + </li> + +</ul> + +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +110 +111 +112 +113 +114 +115 +116 +117</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/axlsx/workbook/worksheet/cell.rb', line 110</span> + +<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> + <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> + <span class='comment val'>#NOTE not sure why, but xml.t @v renders the text as html entities of unicode data</span> + <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'>></span> <span class='r identifier id'>r</span><span class='comma token'>,</span> <span class='symbol val'>:t=</span><span class='gt op'>></span><span class='symbol val'>:inlineStr</span><span class='comma token'>,</span> <span class='symbol val'>:s=</span><span class='gt op'>></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'><<</span> <span class='dstring node'>"<t>#{value}</t>"</span> <span class='rbrace token'>}</span> <span class='rbrace token'>}</span> + <span class='else else kw'>else</span> + <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'>></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'>></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> + <span class='end end kw'>end</span> +<span class='end end kw'>end</span> +</pre> + </td> + </tr> +</table> +</div> + + </div> + +</div> + + <div id="footer"> + Generated on Sun Nov 20 23:43:48 2011 by + <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a> + 0.7.3 (ruby-1.8.7). +</div> + + </body> +</html>
\ No newline at end of file |
