rdoc/RubyXL/WorksheetConvenienceMethods.html in rubyXL-3.3.14 vs rdoc/RubyXL/WorksheetConvenienceMethods.html in rubyXL-3.3.15

- old
+ new

@@ -2,11 +2,11 @@ <html> <head> <meta charset="UTF-8"> -<title>module RubyXL::WorksheetConvenienceMethods - rubyXL 3.3.14</title> +<title>module RubyXL::WorksheetConvenienceMethods - rubyXL 3.3.15</title> <script type="text/javascript"> var rdoc_rel_prefix = "../"; </script> @@ -67,10 +67,12 @@ <li ><a href="#method-i-change_column_bold">#change_column_bold</a> <li ><a href="#method-i-change_column_border">#change_column_border</a> + <li ><a href="#method-i-change_column_font">#change_column_font</a> + <li ><a href="#method-i-change_column_font_color">#change_column_font_color</a> <li ><a href="#method-i-change_column_font_name">#change_column_font_name</a> <li ><a href="#method-i-change_column_font_size">#change_column_font_size</a> @@ -91,10 +93,12 @@ <li ><a href="#method-i-change_row_border">#change_row_border</a> <li ><a href="#method-i-change_row_fill">#change_row_fill</a> + <li ><a href="#method-i-change_row_font">#change_row_font</a> + <li ><a href="#method-i-change_row_font_color">#change_row_font_color</a> <li ><a href="#method-i-change_row_font_name">#change_row_font_name</a> <li ><a href="#method-i-change_row_font_size">#change_row_font_size</a> @@ -109,14 +113,24 @@ <li ><a href="#method-i-change_row_underline">#change_row_underline</a> <li ><a href="#method-i-change_row_vertical_alignment">#change_row_vertical_alignment</a> + <li ><a href="#method-i-column_font">#column_font</a> + <li ><a href="#method-i-delete_cell">#delete_cell</a> + <li ><a href="#method-i-delete_column">#delete_column</a> + + <li ><a href="#method-i-delete_row">#delete_row</a> + <li ><a href="#method-i-extract_data">#extract_data</a> + <li ><a href="#method-i-get_col_style">#get_col_style</a> + + <li ><a href="#method-i-get_cols_style_index">#get_cols_style_index</a> + <li ><a href="#method-i-get_column_alignment">#get_column_alignment</a> <li ><a href="#method-i-get_column_border">#get_column_border</a> <li ><a href="#method-i-get_column_fill">#get_column_fill</a> @@ -145,16 +159,22 @@ <li ><a href="#method-i-get_row_height">#get_row_height</a> <li ><a href="#method-i-get_row_horizontal_alignment">#get_row_horizontal_alignment</a> + <li ><a href="#method-i-get_row_style">#get_row_style</a> + <li ><a href="#method-i-get_row_vertical_alignment">#get_row_vertical_alignment</a> <li ><a href="#method-i-get_table">#get_table</a> <li ><a href="#method-i-insert_cell">#insert_cell</a> + <li ><a href="#method-i-insert_column">#insert_column</a> + + <li ><a href="#method-i-insert_row">#insert_row</a> + <li ><a href="#method-i-is_column_bolded">#is_column_bolded</a> <li ><a href="#method-i-is_column_italicized">#is_column_italicized</a> <li ><a href="#method-i-is_column_struckthrough">#is_column_struckthrough</a> @@ -167,10 +187,12 @@ <li ><a href="#method-i-is_row_struckthrough">#is_row_struckthrough</a> <li ><a href="#method-i-is_row_underlined">#is_row_underlined</a> + <li ><a href="#method-i-row_font">#row_font</a> + </ul> </div> </div> </nav> @@ -191,10 +213,54 @@ + <section class="constants-list"> + <header> + <h3>Constants</h3> + </header> + <dl> + + <dt id="BOLD">BOLD + + <dd> + + + <dt id="COLOR">COLOR + + <dd> + + + <dt id="ITALICS">ITALICS + + <dd> + + + <dt id="NAME">NAME + + <dd> + + + <dt id="SIZE">SIZE + + <dd> + + + <dt id="STRIKETHROUGH">STRIKETHROUGH + + <dd> + + + <dt id="UNDERLINE">UNDERLINE + + <dd> + + + </dl> + </section> + <section id="public-instance-5Buntitled-5D-method-details" class="method-section"> @@ -220,11 +286,11 @@ <div class="method-source-code" id="change_column_alignment-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 557</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 713</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_alignment</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>) <span class="ruby-identifier">validate_workbook</span> <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">column_index</span>) <span class="ruby-identifier">cols</span>.<span class="ruby-identifier">get_range</span>(<span class="ruby-identifier">column_index</span>).<span class="ruby-identifier">style_index</span> = <span class="ruby-ivar">@workbook</span>.<span class="ruby-identifier">modify_alignment</span>(<span class="ruby-identifier">get_col_style</span>(<span class="ruby-identifier">column_index</span>), <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>) @@ -264,11 +330,11 @@ <div class="method-source-code" id="change_column_bold-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 503</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 659</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_bold</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-identifier">bolded</span> = <span class="ruby-keyword">false</span>) <span class="ruby-identifier">xf</span> = <span class="ruby-identifier">get_col_xf</span>(<span class="ruby-identifier">column_index</span>) <span class="ruby-identifier">font</span> = <span class="ruby-ivar">@workbook</span>.<span class="ruby-identifier">fonts</span>[<span class="ruby-identifier">xf</span>.<span class="ruby-identifier">font_id</span>].<span class="ruby-identifier">dup</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">set_bold</span>(<span class="ruby-identifier">bolded</span>) <span class="ruby-identifier">change_column_font</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-constant">Worksheet</span><span class="ruby-operator">::</span><span class="ruby-constant">BOLD</span>, <span class="ruby-identifier">bolded</span>, <span class="ruby-identifier">font</span>, <span class="ruby-identifier">xf</span>) @@ -300,11 +366,11 @@ <div class="method-source-code" id="change_column_border-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 532</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 688</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_border</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-identifier">direction</span>, <span class="ruby-identifier">weight</span>) <span class="ruby-identifier">validate_workbook</span> <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">column_index</span>) <span class="ruby-identifier">cols</span>.<span class="ruby-identifier">get_range</span>(<span class="ruby-identifier">column_index</span>).<span class="ruby-identifier">style_index</span> = <span class="ruby-ivar">@workbook</span>.<span class="ruby-identifier">modify_border</span>(<span class="ruby-identifier">get_col_style</span>(<span class="ruby-identifier">column_index</span>), <span class="ruby-identifier">direction</span>, <span class="ruby-identifier">weight</span>) @@ -322,10 +388,53 @@ </div> + <div id="method-i-change_column_font" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">change_column_font</span><span + class="method-args">(column_index, change_type, arg, font, xf)</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + <p>Helper method to update the fonts and cell styles array main method to +change font, called from each separate font mutator method</p> + + + + + <div class="method-source-code" id="change_column_font-source"> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 616</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_font</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-identifier">change_type</span>, <span class="ruby-identifier">arg</span>, <span class="ruby-identifier">font</span>, <span class="ruby-identifier">xf</span>) + <span class="ruby-identifier">validate_workbook</span> + <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">column_index</span>) + + <span class="ruby-identifier">xf</span> = <span class="ruby-identifier">workbook</span>.<span class="ruby-identifier">register_new_font</span>(<span class="ruby-identifier">font</span>, <span class="ruby-identifier">xf</span>) + <span class="ruby-identifier">cols</span>.<span class="ruby-identifier">get_range</span>(<span class="ruby-identifier">column_index</span>).<span class="ruby-identifier">style_index</span> = <span class="ruby-identifier">workbook</span>.<span class="ruby-identifier">register_new_xf</span>(<span class="ruby-identifier">xf</span>) + + <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">row</span><span class="ruby-operator">|</span> + <span class="ruby-identifier">c</span> = <span class="ruby-identifier">row</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">row</span>[<span class="ruby-identifier">column_index</span>] + <span class="ruby-identifier">c</span>.<span class="ruby-identifier">font_switch</span>(<span class="ruby-identifier">change_type</span>, <span class="ruby-identifier">arg</span>) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">nil?</span> + } +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + <div id="method-i-change_column_font_color" class="method-detail "> <div class="method-heading"> <span class="method-name">change_column_font_color</span><span class="method-args">(column_index, font_color='000000')</span> @@ -341,11 +450,11 @@ <div class="method-source-code" id="change_column_font_color-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 487</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 643</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_font_color</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-identifier">font_color</span>=<span class="ruby-string">'000000'</span>) <span class="ruby-constant">Color</span>.<span class="ruby-identifier">validate_color</span>(<span class="ruby-identifier">font_color</span>) <span class="ruby-identifier">xf</span> = <span class="ruby-identifier">get_col_xf</span>(<span class="ruby-identifier">column_index</span>) <span class="ruby-identifier">font</span> = <span class="ruby-ivar">@workbook</span>.<span class="ruby-identifier">fonts</span>[<span class="ruby-identifier">xf</span>.<span class="ruby-identifier">font_id</span>].<span class="ruby-identifier">dup</span> @@ -379,11 +488,11 @@ <div class="method-source-code" id="change_column_font_name-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 473</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 629</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_font_name</span>(<span class="ruby-identifier">column_index</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">font_name</span> = <span class="ruby-string">'Verdana'</span>) <span class="ruby-identifier">xf</span> = <span class="ruby-identifier">get_col_xf</span>(<span class="ruby-identifier">column_index</span>) <span class="ruby-identifier">font</span> = <span class="ruby-ivar">@workbook</span>.<span class="ruby-identifier">fonts</span>[<span class="ruby-identifier">xf</span>.<span class="ruby-identifier">font_id</span>].<span class="ruby-identifier">dup</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">set_name</span>(<span class="ruby-identifier">font_name</span>) <span class="ruby-identifier">change_column_font</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-constant">Worksheet</span><span class="ruby-operator">::</span><span class="ruby-constant">NAME</span>, <span class="ruby-identifier">font_name</span>, <span class="ruby-identifier">font</span>, <span class="ruby-identifier">xf</span>) @@ -415,11 +524,11 @@ <div class="method-source-code" id="change_column_font_size-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 480</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 636</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_font_size</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-identifier">font_size</span>=<span class="ruby-value">10</span>) <span class="ruby-identifier">xf</span> = <span class="ruby-identifier">get_col_xf</span>(<span class="ruby-identifier">column_index</span>) <span class="ruby-identifier">font</span> = <span class="ruby-ivar">@workbook</span>.<span class="ruby-identifier">fonts</span>[<span class="ruby-identifier">xf</span>.<span class="ruby-identifier">font_id</span>].<span class="ruby-identifier">dup</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">set_size</span>(<span class="ruby-identifier">font_size</span>) <span class="ruby-identifier">change_column_font</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-constant">Worksheet</span><span class="ruby-operator">::</span><span class="ruby-constant">SIZE</span>, <span class="ruby-identifier">font_size</span>, <span class="ruby-identifier">font</span>, <span class="ruby-identifier">xf</span>) @@ -451,11 +560,11 @@ <div class="method-source-code" id="change_column_horizontal_alignment-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 524</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 680</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_horizontal_alignment</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-identifier">alignment</span> = <span class="ruby-string">'center'</span>) <span class="ruby-identifier">change_column_alignment</span>(<span class="ruby-identifier">column_index</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span>.<span class="ruby-identifier">horizontal</span> = <span class="ruby-identifier">alignment</span> } <span class="ruby-keyword">end</span></pre> </div> @@ -484,11 +593,11 @@ <div class="method-source-code" id="change_column_italics-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 496</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 652</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_italics</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-identifier">italicized</span> = <span class="ruby-keyword">false</span>) <span class="ruby-identifier">xf</span> = <span class="ruby-identifier">get_col_xf</span>(<span class="ruby-identifier">column_index</span>) <span class="ruby-identifier">font</span> = <span class="ruby-ivar">@workbook</span>.<span class="ruby-identifier">fonts</span>[<span class="ruby-identifier">xf</span>.<span class="ruby-identifier">font_id</span>].<span class="ruby-identifier">dup</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">set_italic</span>(<span class="ruby-identifier">italicized</span>) <span class="ruby-identifier">change_column_font</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-constant">Worksheet</span><span class="ruby-operator">::</span><span class="ruby-constant">ITALICS</span>, <span class="ruby-identifier">italicized</span>, <span class="ruby-identifier">font</span>, <span class="ruby-identifier">xf</span>) @@ -520,11 +629,11 @@ <div class="method-source-code" id="change_column_strikethrough-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 517</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 673</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_strikethrough</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-identifier">struckthrough</span>=<span class="ruby-keyword">false</span>) <span class="ruby-identifier">xf</span> = <span class="ruby-identifier">get_col_xf</span>(<span class="ruby-identifier">column_index</span>) <span class="ruby-identifier">font</span> = <span class="ruby-ivar">@workbook</span>.<span class="ruby-identifier">fonts</span>[<span class="ruby-identifier">xf</span>.<span class="ruby-identifier">font_id</span>].<span class="ruby-identifier">dup</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">set_strikethrough</span>(<span class="ruby-identifier">struckthrough</span>) <span class="ruby-identifier">change_column_font</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-constant">Worksheet</span><span class="ruby-operator">::</span><span class="ruby-constant">STRIKETHROUGH</span>, <span class="ruby-identifier">struckthrough</span>, <span class="ruby-identifier">font</span>, <span class="ruby-identifier">xf</span>) @@ -556,11 +665,11 @@ <div class="method-source-code" id="change_column_underline-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 510</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 666</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_underline</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-identifier">underlined</span> = <span class="ruby-keyword">false</span>) <span class="ruby-identifier">xf</span> = <span class="ruby-identifier">get_col_xf</span>(<span class="ruby-identifier">column_index</span>) <span class="ruby-identifier">font</span> = <span class="ruby-ivar">@workbook</span>.<span class="ruby-identifier">fonts</span>[<span class="ruby-identifier">xf</span>.<span class="ruby-identifier">font_id</span>].<span class="ruby-identifier">dup</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">set_underline</span>(<span class="ruby-identifier">underlined</span>) <span class="ruby-identifier">change_column_font</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-constant">Worksheet</span><span class="ruby-operator">::</span><span class="ruby-constant">UNDERLINE</span>, <span class="ruby-identifier">underlined</span>, <span class="ruby-identifier">font</span>, <span class="ruby-identifier">xf</span>) @@ -592,11 +701,11 @@ <div class="method-source-code" id="change_column_vertical_alignment-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 528</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 684</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_column_vertical_alignment</span>(<span class="ruby-identifier">column_index</span>, <span class="ruby-identifier">alignment</span> = <span class="ruby-string">'center'</span>) <span class="ruby-identifier">change_column_alignment</span>(<span class="ruby-identifier">column_index</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span>.<span class="ruby-identifier">vertical</span> = <span class="ruby-identifier">alignment</span> } <span class="ruby-keyword">end</span></pre> </div> @@ -625,11 +734,11 @@ <div class="method-source-code" id="change_row_alignment-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 544</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 700</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_alignment</span>(<span class="ruby-identifier">row</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>) <span class="ruby-identifier">validate_workbook</span> <span class="ruby-identifier">validate_nonnegative</span>(<span class="ruby-identifier">row</span>) <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row</span>) @@ -667,11 +776,11 @@ <div class="method-source-code" id="change_row_bold-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 443</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 584</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_bold</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">bolded</span> = <span class="ruby-keyword">false</span>) <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row</span>) <span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>).<span class="ruby-identifier">dup</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">set_bold</span>(<span class="ruby-identifier">bolded</span>) <span class="ruby-identifier">change_row_font</span>(<span class="ruby-identifier">row</span>, <span class="ruby-constant">Worksheet</span><span class="ruby-operator">::</span><span class="ruby-constant">BOLD</span>, <span class="ruby-identifier">bolded</span>, <span class="ruby-identifier">font</span>) @@ -703,11 +812,11 @@ <div class="method-source-code" id="change_row_border-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 394</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 522</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_border</span>(<span class="ruby-identifier">row</span>, <span class="ruby-identifier">direction</span>, <span class="ruby-identifier">weight</span>) <span class="ruby-identifier">validate_workbook</span> <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row</span>) <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>[<span class="ruby-identifier">row</span>].<span class="ruby-identifier">style_index</span> = <span class="ruby-ivar">@workbook</span>.<span class="ruby-identifier">modify_border</span>(<span class="ruby-identifier">get_row_style</span>(<span class="ruby-identifier">row</span>), <span class="ruby-identifier">direction</span>, <span class="ruby-identifier">weight</span>) @@ -743,11 +852,11 @@ <div class="method-source-code" id="change_row_fill-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 405</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 533</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_fill</span>(<span class="ruby-identifier">row_index</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">rgb</span> = <span class="ruby-string">'ffffff'</span>) <span class="ruby-identifier">validate_workbook</span> <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row_index</span>) <span class="ruby-constant">Color</span>.<span class="ruby-identifier">validate_color</span>(<span class="ruby-identifier">rgb</span>) @@ -762,10 +871,53 @@ </div> + <div id="method-i-change_row_font" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">change_row_font</span><span + class="method-args">(row_index, change_type, arg, font)</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + <p>Helper method to update the row styles array change_type - <a +href="WorksheetConvenienceMethods.html#NAME">NAME</a> or <a +href="WorksheetConvenienceMethods.html#SIZE">SIZE</a> or <a +href="WorksheetConvenienceMethods.html#COLOR">COLOR</a> etc main method to +change font, called from each separate font mutator method</p> + + + + + <div class="method-source-code" id="change_row_font-source"> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 545</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_font</span>(<span class="ruby-identifier">row_index</span>, <span class="ruby-identifier">change_type</span>, <span class="ruby-identifier">arg</span>, <span class="ruby-identifier">font</span>) + <span class="ruby-identifier">validate_workbook</span> + <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row_index</span>) + + <span class="ruby-identifier">xf</span> = <span class="ruby-identifier">workbook</span>.<span class="ruby-identifier">register_new_font</span>(<span class="ruby-identifier">font</span>, <span class="ruby-identifier">get_row_xf</span>(<span class="ruby-identifier">row_index</span>)) + <span class="ruby-identifier">row</span> = <span class="ruby-identifier">sheet_data</span>[<span class="ruby-identifier">row_index</span>] + <span class="ruby-identifier">row</span>.<span class="ruby-identifier">style_index</span> = <span class="ruby-identifier">workbook</span>.<span class="ruby-identifier">register_new_xf</span>(<span class="ruby-identifier">xf</span>) + <span class="ruby-identifier">row</span>.<span class="ruby-identifier">cells</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">font_switch</span>(<span class="ruby-identifier">change_type</span>, <span class="ruby-identifier">arg</span>) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">nil?</span> } +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + <div id="method-i-change_row_font_color" class="method-detail "> <div class="method-heading"> <span class="method-name">change_row_font_color</span><span class="method-args">(row = 0, font_color = '000000')</span> @@ -781,11 +933,11 @@ <div class="method-source-code" id="change_row_font_color-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 428</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 569</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_font_color</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">font_color</span> = <span class="ruby-string">'000000'</span>) <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row</span>) <span class="ruby-constant">Color</span>.<span class="ruby-identifier">validate_color</span>(<span class="ruby-identifier">font_color</span>) <span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>).<span class="ruby-identifier">dup</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">set_rgb_color</span>(<span class="ruby-identifier">font_color</span>) @@ -818,11 +970,11 @@ <div class="method-source-code" id="change_row_font_name-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 414</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 555</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_font_name</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">font_name</span> = <span class="ruby-string">'Verdana'</span>) <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row</span>) <span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>).<span class="ruby-identifier">dup</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">set_name</span>(<span class="ruby-identifier">font_name</span>) <span class="ruby-identifier">change_row_font</span>(<span class="ruby-identifier">row</span>, <span class="ruby-constant">Worksheet</span><span class="ruby-operator">::</span><span class="ruby-constant">NAME</span>, <span class="ruby-identifier">font_name</span>, <span class="ruby-identifier">font</span>) @@ -854,11 +1006,11 @@ <div class="method-source-code" id="change_row_font_size-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 421</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 562</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_font_size</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">font_size</span>=<span class="ruby-value">10</span>) <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row</span>) <span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>).<span class="ruby-identifier">dup</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">set_size</span>(<span class="ruby-identifier">font_size</span>) <span class="ruby-identifier">change_row_font</span>(<span class="ruby-identifier">row</span>, <span class="ruby-constant">Worksheet</span><span class="ruby-operator">::</span><span class="ruby-constant">SIZE</span>, <span class="ruby-identifier">font_size</span>, <span class="ruby-identifier">font</span>) @@ -890,11 +1042,11 @@ <div class="method-source-code" id="change_row_height-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 464</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 605</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_height</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">height</span> = <span class="ruby-value">10</span>) <span class="ruby-identifier">validate_workbook</span> <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row</span>) <span class="ruby-identifier">c</span> = <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>[<span class="ruby-identifier">row</span>] @@ -928,11 +1080,11 @@ <div class="method-source-code" id="change_row_horizontal_alignment-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 382</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 510</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_horizontal_alignment</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">alignment</span> = <span class="ruby-string">'center'</span>) <span class="ruby-identifier">validate_workbook</span> <span class="ruby-identifier">validate_nonnegative</span>(<span class="ruby-identifier">row</span>) <span class="ruby-identifier">change_row_alignment</span>(<span class="ruby-identifier">row</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span>.<span class="ruby-identifier">horizontal</span> = <span class="ruby-identifier">alignment</span> } <span class="ruby-keyword">end</span></pre> @@ -963,11 +1115,11 @@ <div class="method-source-code" id="change_row_italics-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 436</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 577</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_italics</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">italicized</span> = <span class="ruby-keyword">false</span>) <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row</span>) <span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>).<span class="ruby-identifier">dup</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">set_italic</span>(<span class="ruby-identifier">italicized</span>) <span class="ruby-identifier">change_row_font</span>(<span class="ruby-identifier">row</span>, <span class="ruby-constant">Worksheet</span><span class="ruby-operator">::</span><span class="ruby-constant">ITALICS</span>, <span class="ruby-identifier">italicized</span>, <span class="ruby-identifier">font</span>) @@ -999,11 +1151,11 @@ <div class="method-source-code" id="change_row_strikethrough-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 457</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 598</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_strikethrough</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">struckthrough</span>=<span class="ruby-keyword">false</span>) <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row</span>) <span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>).<span class="ruby-identifier">dup</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">set_strikethrough</span>(<span class="ruby-identifier">struckthrough</span>) <span class="ruby-identifier">change_row_font</span>(<span class="ruby-identifier">row</span>, <span class="ruby-constant">Worksheet</span><span class="ruby-operator">::</span><span class="ruby-constant">STRIKETHROUGH</span>, <span class="ruby-identifier">struckthrough</span>, <span class="ruby-identifier">font</span>) @@ -1035,11 +1187,11 @@ <div class="method-source-code" id="change_row_underline-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 450</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 591</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_underline</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">underlined</span>=<span class="ruby-keyword">false</span>) <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row</span>) <span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>).<span class="ruby-identifier">dup</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">set_underline</span>(<span class="ruby-identifier">underlined</span>) <span class="ruby-identifier">change_row_font</span>(<span class="ruby-identifier">row</span>, <span class="ruby-constant">Worksheet</span><span class="ruby-operator">::</span><span class="ruby-constant">UNDERLINE</span>, <span class="ruby-identifier">underlined</span>, <span class="ruby-identifier">font</span>) @@ -1071,11 +1223,11 @@ <div class="method-source-code" id="change_row_vertical_alignment-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 388</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 516</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">change_row_vertical_alignment</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">alignment</span> = <span class="ruby-string">'center'</span>) <span class="ruby-identifier">validate_workbook</span> <span class="ruby-identifier">validate_nonnegative</span>(<span class="ruby-identifier">row</span>) <span class="ruby-identifier">change_row_alignment</span>(<span class="ruby-identifier">row</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span>.<span class="ruby-identifier">vertical</span> = <span class="ruby-identifier">alignment</span> } <span class="ruby-keyword">end</span></pre> @@ -1087,10 +1239,45 @@ </div> + <div id="method-i-column_font" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">column_font</span><span + class="method-args">(col)</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + + + + + + <div class="method-source-code" id="column_font-source"> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 497</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">column_font</span>(<span class="ruby-identifier">col</span>) + <span class="ruby-identifier">validate_workbook</span> + + <span class="ruby-ivar">@workbook</span>.<span class="ruby-identifier">fonts</span>[<span class="ruby-ivar">@workbook</span>.<span class="ruby-identifier">cell_xfs</span>[<span class="ruby-identifier">get_cols_style_index</span>(<span class="ruby-identifier">col</span>)].<span class="ruby-identifier">font_id</span>] +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + <div id="method-i-delete_cell" class="method-detail "> <div class="method-heading"> <span class="method-name">delete_cell</span><span class="method-args">(row_index = 0, column_index=0, shift=nil)</span> @@ -1108,11 +1295,11 @@ <div class="method-source-code" id="delete_cell-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 210</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 217</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">delete_cell</span>(<span class="ruby-identifier">row_index</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">column_index</span>=<span class="ruby-value">0</span>, <span class="ruby-identifier">shift</span>=<span class="ruby-keyword">nil</span>) <span class="ruby-identifier">validate_workbook</span> <span class="ruby-identifier">validate_nonnegative</span>(<span class="ruby-identifier">row_index</span>) <span class="ruby-identifier">validate_nonnegative</span>(<span class="ruby-identifier">column_index</span>) @@ -1143,10 +1330,100 @@ </div> + <div id="method-i-delete_column" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">delete_column</span><span + class="method-args">(column_index = 0)</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + + + + + + <div class="method-source-code" id="delete_column-source"> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 323</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">delete_column</span>(<span class="ruby-identifier">column_index</span> = <span class="ruby-value">0</span>) + <span class="ruby-identifier">validate_workbook</span> + <span class="ruby-identifier">validate_nonnegative</span>(<span class="ruby-identifier">column_index</span>) + + <span class="ruby-comment">#delete column</span> + <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">row</span><span class="ruby-operator">|</span> <span class="ruby-identifier">row</span>.<span class="ruby-identifier">cells</span>.<span class="ruby-identifier">delete_at</span>(<span class="ruby-identifier">column_index</span>) } + + <span class="ruby-comment"># Change column numbers for cells to the right of the deleted column</span> + <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>.<span class="ruby-identifier">each_with_index</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">row</span>, <span class="ruby-identifier">row_index</span><span class="ruby-operator">|</span> + <span class="ruby-identifier">row</span>.<span class="ruby-identifier">cells</span>.<span class="ruby-identifier">each_with_index</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">c</span>, <span class="ruby-identifier">column_index</span><span class="ruby-operator">|</span> + <span class="ruby-identifier">c</span>.<span class="ruby-identifier">column</span> = <span class="ruby-identifier">column_index</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Cell</span>) + } + } + + <span class="ruby-identifier">cols</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">range</span><span class="ruby-operator">|</span> <span class="ruby-identifier">range</span>.<span class="ruby-identifier">delete_column</span>(<span class="ruby-identifier">column_index</span>) } +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + + <div id="method-i-delete_row" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">delete_row</span><span + class="method-args">(row_index=0)</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + + + + + + <div class="method-source-code" id="delete_row-source"> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 279</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">delete_row</span>(<span class="ruby-identifier">row_index</span>=<span class="ruby-value">0</span>) + <span class="ruby-identifier">validate_workbook</span> + <span class="ruby-identifier">validate_nonnegative</span>(<span class="ruby-identifier">row_index</span>) + + <span class="ruby-identifier">deleted</span> = <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>.<span class="ruby-identifier">delete_at</span>(<span class="ruby-identifier">row_index</span>) + + <span class="ruby-comment"># Update row number of each cell</span> + <span class="ruby-identifier">row_index</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">index</span><span class="ruby-operator">|</span> + <span class="ruby-identifier">row</span> = <span class="ruby-identifier">sheet_data</span>[<span class="ruby-identifier">index</span>] + <span class="ruby-identifier">row</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">row</span>.<span class="ruby-identifier">cells</span>.<span class="ruby-identifier">each</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">row</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">nil?</span> } + } + + <span class="ruby-keyword">return</span> <span class="ruby-identifier">deleted</span> +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + <div id="method-i-extract_data" class="method-detail "> <div class="method-heading"> <span class="method-name">extract_data</span><span class="method-args">(args = {})</span> @@ -1163,11 +1440,11 @@ <div class="method-source-code" id="extract_data-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 573</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 729</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">extract_data</span>(<span class="ruby-identifier">args</span> = {}) <span class="ruby-identifier">warn</span> <span class="ruby-node">&quot;[DEPRECATION] `#{__method__}` is deprecated. Please access data directly by iterating through .sheet_data.rows&quot;</span> <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">row</span><span class="ruby-operator">|</span> <span class="ruby-identifier">row</span>.<span class="ruby-identifier">cells</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">value</span>(<span class="ruby-identifier">args</span>) } <span class="ruby-keyword">unless</span> <span class="ruby-identifier">row</span>.<span class="ruby-identifier">nil?</span> } @@ -1180,10 +1457,79 @@ </div> + <div id="method-i-get_col_style" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">get_col_style</span><span + class="method-args">(column_index)</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + <p>Helper method to get the style index for a column</p> + + + + + <div class="method-source-code" id="get_col_style-source"> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 477</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_col_style</span>(<span class="ruby-identifier">column_index</span>) + <span class="ruby-identifier">range</span> = <span class="ruby-identifier">cols</span>.<span class="ruby-identifier">locate_range</span>(<span class="ruby-identifier">column_index</span>) + (<span class="ruby-identifier">range</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">range</span>.<span class="ruby-identifier">style_index</span>) <span class="ruby-operator">||</span> <span class="ruby-value">0</span> +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + + <div id="method-i-get_cols_style_index" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">get_cols_style_index</span><span + class="method-args">(column_index)</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + + + + + + <div class="method-source-code" id="get_cols_style_index-source"> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 418</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_cols_style_index</span>(<span class="ruby-identifier">column_index</span>) + <span class="ruby-identifier">validate_nonnegative</span>(<span class="ruby-identifier">column_index</span>) + <span class="ruby-identifier">range</span> = <span class="ruby-identifier">cols</span>.<span class="ruby-identifier">locate_range</span>(<span class="ruby-identifier">column_index</span>) + (<span class="ruby-identifier">range</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">range</span>.<span class="ruby-identifier">style_index</span>) <span class="ruby-operator">||</span> <span class="ruby-value">0</span> +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + <div id="method-i-get_column_alignment" class="method-detail "> <div class="method-heading"> <span class="method-name">get_column_alignment</span><span class="method-args">(col, type)</span> @@ -1199,14 +1545,13 @@ <div class="method-source-code" id="get_column_alignment-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 374</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 503</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_column_alignment</span>(<span class="ruby-identifier">col</span>, <span class="ruby-identifier">type</span>) <span class="ruby-identifier">validate_workbook</span> - <span class="ruby-identifier">validate_nonnegative</span>(<span class="ruby-identifier">col</span>) <span class="ruby-identifier">xf</span> = <span class="ruby-ivar">@workbook</span>.<span class="ruby-identifier">cell_xfs</span>[<span class="ruby-identifier">get_cols_style_index</span>(<span class="ruby-identifier">col</span>)] <span class="ruby-identifier">xf</span>.<span class="ruby-identifier">alignment</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">xf</span>.<span class="ruby-identifier">alignment</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">type</span>) <span class="ruby-keyword">end</span></pre> </div> @@ -1236,14 +1581,13 @@ <div class="method-source-code" id="get_column_border-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 365</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 489</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_column_border</span>(<span class="ruby-identifier">col</span>, <span class="ruby-identifier">border_direction</span>) <span class="ruby-identifier">validate_workbook</span> - <span class="ruby-identifier">validate_nonnegative</span>(<span class="ruby-identifier">col</span>) <span class="ruby-identifier">xf</span> = <span class="ruby-ivar">@workbook</span>.<span class="ruby-identifier">cell_xfs</span>[<span class="ruby-identifier">get_cols_style_index</span>(<span class="ruby-identifier">col</span>)] <span class="ruby-identifier">border</span> = <span class="ruby-ivar">@workbook</span>.<span class="ruby-identifier">borders</span>[<span class="ruby-identifier">xf</span>.<span class="ruby-identifier">border_id</span>] <span class="ruby-identifier">border</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">border</span>.<span class="ruby-identifier">get_edge_style</span>(<span class="ruby-identifier">border_direction</span>) <span class="ruby-keyword">end</span></pre> @@ -1274,11 +1618,11 @@ <div class="method-source-code" id="get_column_fill-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 358</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 482</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_column_fill</span>(<span class="ruby-identifier">col</span>=<span class="ruby-value">0</span>) <span class="ruby-identifier">validate_workbook</span> <span class="ruby-identifier">validate_nonnegative</span>(<span class="ruby-identifier">col</span>) <span class="ruby-ivar">@workbook</span>.<span class="ruby-identifier">get_fill_color</span>(<span class="ruby-identifier">get_col_xf</span>(<span class="ruby-identifier">col</span>)) @@ -1310,11 +1654,11 @@ <div class="method-source-code" id="get_column_font_color-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 316</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 434</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_column_font_color</span>(<span class="ruby-identifier">col</span> = <span class="ruby-value">0</span>) <span class="ruby-identifier">font</span> = <span class="ruby-identifier">column_font</span>(<span class="ruby-identifier">col</span>) <span class="ruby-identifier">font</span> <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-identifier">font</span>.<span class="ruby-identifier">get_rgb_color</span> <span class="ruby-operator">||</span> <span class="ruby-string">'000000'</span>) <span class="ruby-keyword">end</span></pre> </div> @@ -1344,11 +1688,11 @@ <div class="method-source-code" id="get_column_font_name-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 306</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 424</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_column_font_name</span>(<span class="ruby-identifier">col</span> = <span class="ruby-value">0</span>) <span class="ruby-identifier">font</span> = <span class="ruby-identifier">column_font</span>(<span class="ruby-identifier">col</span>) <span class="ruby-identifier">font</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">get_name</span> <span class="ruby-keyword">end</span></pre> </div> @@ -1378,11 +1722,11 @@ <div class="method-source-code" id="get_column_font_size-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 311</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 429</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_column_font_size</span>(<span class="ruby-identifier">col</span> = <span class="ruby-value">0</span>) <span class="ruby-identifier">font</span> = <span class="ruby-identifier">column_font</span>(<span class="ruby-identifier">col</span>) <span class="ruby-identifier">font</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">get_size</span> <span class="ruby-keyword">end</span></pre> </div> @@ -1413,11 +1757,11 @@ <div class="method-source-code" id="get_column_width-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 352</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 470</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_column_width</span>(<span class="ruby-identifier">column_index</span> = <span class="ruby-value">0</span>) <span class="ruby-identifier">width</span> = <span class="ruby-identifier">get_column_width_raw</span>(<span class="ruby-identifier">column_index</span>) <span class="ruby-keyword">return</span> <span class="ruby-constant">RubyXL</span><span class="ruby-operator">::</span><span class="ruby-constant">ColumnRange</span><span class="ruby-operator">::</span><span class="ruby-constant">DEFAULT_WIDTH</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">width</span>.<span class="ruby-identifier">nil?</span> (<span class="ruby-identifier">width</span> <span class="ruby-operator">-</span> (<span class="ruby-value">5.0</span> <span class="ruby-operator">/</span> <span class="ruby-constant">RubyXL</span><span class="ruby-operator">::</span><span class="ruby-constant">Font</span><span class="ruby-operator">::</span><span class="ruby-constant">MAX_DIGIT_WIDTH</span>)).<span class="ruby-identifier">round</span> <span class="ruby-keyword">end</span></pre> @@ -1448,11 +1792,11 @@ <div class="method-source-code" id="get_column_width_raw-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 342</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 460</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_column_width_raw</span>(<span class="ruby-identifier">column_index</span> = <span class="ruby-value">0</span>) <span class="ruby-identifier">validate_workbook</span> <span class="ruby-identifier">validate_nonnegative</span>(<span class="ruby-identifier">column_index</span>) <span class="ruby-identifier">range</span> = <span class="ruby-identifier">cols</span>.<span class="ruby-identifier">locate_range</span>(<span class="ruby-identifier">column_index</span>) @@ -1485,14 +1829,13 @@ <div class="method-source-code" id="get_row_alignment-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 284</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 397</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_row_alignment</span>(<span class="ruby-identifier">row</span>, <span class="ruby-identifier">is_horizontal</span>) <span class="ruby-identifier">validate_workbook</span> - <span class="ruby-identifier">validate_nonnegative</span>(<span class="ruby-identifier">row</span>) <span class="ruby-identifier">xf_obj</span> = <span class="ruby-identifier">get_row_xf</span>(<span class="ruby-identifier">row</span>) <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">xf_obj</span>.<span class="ruby-identifier">alignment</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">is_horizontal</span> <span class="ruby-keyword">then</span> <span class="ruby-keyword">return</span> <span class="ruby-identifier">xf_obj</span>.<span class="ruby-identifier">alignment</span>.<span class="ruby-identifier">horizontal</span> @@ -1526,14 +1869,13 @@ <div class="method-source-code" id="get_row_border-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 276</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 386</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_row_border</span>(<span class="ruby-identifier">row</span>, <span class="ruby-identifier">border_direction</span>) <span class="ruby-identifier">validate_workbook</span> - <span class="ruby-identifier">validate_nonnegative</span>(<span class="ruby-identifier">row</span>) <span class="ruby-identifier">border</span> = <span class="ruby-ivar">@workbook</span>.<span class="ruby-identifier">borders</span>[<span class="ruby-identifier">get_row_xf</span>(<span class="ruby-identifier">row</span>).<span class="ruby-identifier">border_id</span>] <span class="ruby-identifier">border</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">border</span>.<span class="ruby-identifier">get_edge_style</span>(<span class="ruby-identifier">border_direction</span>) <span class="ruby-keyword">end</span></pre> </div> @@ -1563,11 +1905,11 @@ <div class="method-source-code" id="get_row_fill-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 235</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 345</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_row_fill</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>) (<span class="ruby-identifier">row</span> = <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>[<span class="ruby-identifier">row</span>]) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">row</span>.<span class="ruby-identifier">get_fill_color</span> <span class="ruby-keyword">end</span></pre> </div> @@ -1596,11 +1938,11 @@ <div class="method-source-code" id="get_row_font_color-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 247</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 357</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_row_font_color</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>) <span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>) <span class="ruby-identifier">color</span> = <span class="ruby-identifier">font</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">color</span> <span class="ruby-identifier">color</span> <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-identifier">color</span>.<span class="ruby-identifier">rgb</span> <span class="ruby-operator">||</span> <span class="ruby-string">'000000'</span>) <span class="ruby-keyword">end</span></pre> @@ -1631,11 +1973,11 @@ <div class="method-source-code" id="get_row_font_name-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 239</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 349</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_row_font_name</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>) (<span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>)) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">get_name</span> <span class="ruby-keyword">end</span></pre> </div> @@ -1664,11 +2006,11 @@ <div class="method-source-code" id="get_row_font_size-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 243</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 353</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_row_font_size</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>) (<span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>)) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">get_size</span> <span class="ruby-keyword">end</span></pre> </div> @@ -1697,11 +2039,11 @@ <div class="method-source-code" id="get_row_height-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 269</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 379</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_row_height</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>) <span class="ruby-identifier">validate_workbook</span> <span class="ruby-identifier">validate_nonnegative</span>(<span class="ruby-identifier">row</span>) <span class="ruby-identifier">row</span> = <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>[<span class="ruby-identifier">row</span>] <span class="ruby-identifier">row</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">row</span>.<span class="ruby-identifier">ht</span> <span class="ruby-operator">||</span> <span class="ruby-value">13</span> @@ -1733,11 +2075,11 @@ <div class="method-source-code" id="get_row_horizontal_alignment-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 296</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 408</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_row_horizontal_alignment</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>) <span class="ruby-identifier">warn</span> <span class="ruby-node">&quot;[DEPRECATION] `#{__method__}` is deprecated. Please use `get_row_alignment` instead.&quot;</span> <span class="ruby-keyword">return</span> <span class="ruby-identifier">get_row_alignment</span>(<span class="ruby-identifier">row</span>, <span class="ruby-keyword">true</span>) <span class="ruby-keyword">end</span></pre> </div> @@ -1748,10 +2090,44 @@ </div> + <div id="method-i-get_row_style" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">get_row_style</span><span + class="method-args">(row_index)</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + + + + + + <div class="method-source-code" id="get_row_style-source"> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 340</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_row_style</span>(<span class="ruby-identifier">row_index</span>) + <span class="ruby-identifier">row</span> = <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>[<span class="ruby-identifier">row_index</span>] + (<span class="ruby-identifier">row</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">row</span>.<span class="ruby-identifier">style_index</span>) <span class="ruby-operator">||</span> <span class="ruby-value">0</span> +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + <div id="method-i-get_row_vertical_alignment" class="method-detail "> <div class="method-heading"> <span class="method-name">get_row_vertical_alignment</span><span class="method-args">(row = 0)</span> @@ -1767,11 +2143,11 @@ <div class="method-source-code" id="get_row_vertical_alignment-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 301</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 413</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_row_vertical_alignment</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>) <span class="ruby-identifier">warn</span> <span class="ruby-node">&quot;[DEPRECATION] `#{__method__}` is deprecated. Please use `get_row_alignment` instead.&quot;</span> <span class="ruby-keyword">return</span> <span class="ruby-identifier">get_row_alignment</span>(<span class="ruby-identifier">row</span>, <span class="ruby-keyword">false</span>) <span class="ruby-keyword">end</span></pre> </div> @@ -1801,11 +2177,11 @@ <div class="method-source-code" id="get_table-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 580</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 736</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_table</span>(<span class="ruby-identifier">headers</span> = [], <span class="ruby-identifier">opts</span> = {}) <span class="ruby-identifier">warn</span> <span class="ruby-node">&quot;[DEPRECATION] `#{__method__}` is deprecated. Please access data directly by iterating through .sheet_data.rows&quot;</span> <span class="ruby-identifier">validate_workbook</span> <span class="ruby-identifier">headers</span> = [<span class="ruby-identifier">headers</span>] <span class="ruby-keyword">unless</span> <span class="ruby-identifier">headers</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>) @@ -1883,11 +2259,11 @@ <div class="method-source-code" id="insert_cell-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 187</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 194</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">insert_cell</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">col</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">data</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">formula</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">shift</span> = <span class="ruby-keyword">nil</span>) <span class="ruby-identifier">validate_workbook</span> <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row</span>, <span class="ruby-identifier">col</span>) <span class="ruby-keyword">case</span> <span class="ruby-identifier">shift</span> @@ -1913,10 +2289,134 @@ </div> + <div id="method-i-insert_column" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">insert_column</span><span + class="method-args">(column_index = 0)</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + <p>Inserts column at <code>column_index</code>, pushes everything right, takes +styles from column to left NOTE: use of this method will break formulas +which reference cells which are being “pushed right”</p> + + + + + <div class="method-source-code" id="insert_column-source"> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 296</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">insert_column</span>(<span class="ruby-identifier">column_index</span> = <span class="ruby-value">0</span>) + <span class="ruby-identifier">validate_workbook</span> + <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">column_index</span>) + + <span class="ruby-identifier">old_range</span> = <span class="ruby-identifier">cols</span>.<span class="ruby-identifier">get_range</span>(<span class="ruby-identifier">column_index</span>) + + <span class="ruby-comment">#go through each cell in column</span> + <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>.<span class="ruby-identifier">each_with_index</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">row</span>, <span class="ruby-identifier">row_index</span><span class="ruby-operator">|</span> + <span class="ruby-identifier">old_cell</span> = <span class="ruby-identifier">row</span>[<span class="ruby-identifier">column_index</span>] + <span class="ruby-identifier">c</span> = <span class="ruby-keyword">nil</span> + + <span class="ruby-keyword">if</span> <span class="ruby-identifier">old_cell</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">old_cell</span>.<span class="ruby-identifier">style_index</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> + <span class="ruby-identifier">old_range</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">old_range</span>.<span class="ruby-identifier">style_index</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">old_cell</span>.<span class="ruby-identifier">style_index</span> <span class="ruby-keyword">then</span> + + <span class="ruby-identifier">c</span> = <span class="ruby-constant">RubyXL</span><span class="ruby-operator">::</span><span class="ruby-constant">Cell</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:style_index</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">old_cell</span>.<span class="ruby-identifier">style_index</span>, <span class="ruby-value">:worksheet</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">self</span>, + <span class="ruby-value">:row</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">row_index</span>, <span class="ruby-value">:column</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">column_index</span>, + <span class="ruby-value">:datatype</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">RubyXL</span><span class="ruby-operator">::</span><span class="ruby-constant">DataType</span><span class="ruby-operator">::</span><span class="ruby-constant">SHARED_STRING</span>) + <span class="ruby-keyword">end</span> + + <span class="ruby-identifier">row</span>.<span class="ruby-identifier">insert_cell_shift_right</span>(<span class="ruby-identifier">c</span>, <span class="ruby-identifier">column_index</span>) + } + + <span class="ruby-identifier">cols</span>.<span class="ruby-identifier">insert_column</span>(<span class="ruby-identifier">column_index</span>) + + <span class="ruby-comment"># TODO: update column numbers</span> +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + + <div id="method-i-insert_row" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">insert_row</span><span + class="method-args">(row_index = 0)</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + <p>Inserts row at row_index, pushes down, copies style from the row above +(that’s what Excel 2013 does!) NOTE: use of this method will break formulas +which reference cells which are being “pushed down”</p> + + + + + <div class="method-source-code" id="insert_row-source"> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 244</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">insert_row</span>(<span class="ruby-identifier">row_index</span> = <span class="ruby-value">0</span>) + <span class="ruby-identifier">validate_workbook</span> + <span class="ruby-identifier">ensure_cell_exists</span>(<span class="ruby-identifier">row_index</span>) + + <span class="ruby-identifier">old_row</span> = <span class="ruby-identifier">new_cells</span> = <span class="ruby-keyword">nil</span> + + <span class="ruby-keyword">if</span> <span class="ruby-identifier">row_index</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span> <span class="ruby-keyword">then</span> + <span class="ruby-identifier">old_row</span> = <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>[<span class="ruby-identifier">row_index</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>] + <span class="ruby-keyword">if</span> <span class="ruby-identifier">old_row</span> <span class="ruby-keyword">then</span> + <span class="ruby-identifier">new_cells</span> = <span class="ruby-identifier">old_row</span>.<span class="ruby-identifier">cells</span>.<span class="ruby-identifier">collect</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> + <span class="ruby-keyword">if</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword">then</span> <span class="ruby-keyword">nil</span> + <span class="ruby-keyword">else</span> <span class="ruby-identifier">nc</span> = <span class="ruby-constant">RubyXL</span><span class="ruby-operator">::</span><span class="ruby-constant">Cell</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:style_index</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">style_index</span>) + <span class="ruby-identifier">nc</span>.<span class="ruby-identifier">worksheet</span> = <span class="ruby-keyword">self</span> + <span class="ruby-identifier">nc</span> + <span class="ruby-keyword">end</span> + } + <span class="ruby-keyword">end</span> + <span class="ruby-keyword">end</span> + + <span class="ruby-identifier">row0</span> = <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>[<span class="ruby-value">0</span>] + <span class="ruby-identifier">new_cells</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>((<span class="ruby-identifier">row0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">row0</span>.<span class="ruby-identifier">cells</span>.<span class="ruby-identifier">size</span>) <span class="ruby-operator">||</span> <span class="ruby-value">0</span>) + + <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>.<span class="ruby-identifier">insert</span>(<span class="ruby-identifier">row_index</span>, <span class="ruby-keyword">nil</span>) + <span class="ruby-identifier">new_row</span> = <span class="ruby-identifier">add_row</span>(<span class="ruby-identifier">row_index</span>, <span class="ruby-value">:cells</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">new_cells</span>, <span class="ruby-value">:style_index</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">old_row</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">old_row</span>.<span class="ruby-identifier">style_index</span>) + + <span class="ruby-comment"># Update row values for all rows below</span> + <span class="ruby-identifier">row_index</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> + <span class="ruby-identifier">row</span> = <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>[<span class="ruby-identifier">i</span>] + <span class="ruby-keyword">next</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">row</span>.<span class="ruby-identifier">nil?</span> + <span class="ruby-identifier">row</span>.<span class="ruby-identifier">cells</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">row</span> = <span class="ruby-identifier">i</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">nil?</span> } + } + + <span class="ruby-keyword">return</span> <span class="ruby-identifier">new_row</span> +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + <div id="method-i-is_column_bolded" class="method-detail "> <div class="method-heading"> <span class="method-name">is_column_bolded</span><span class="method-args">(col = 0)</span> @@ -1932,11 +2432,11 @@ <div class="method-source-code" id="is_column_bolded-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 326</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 444</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">is_column_bolded</span>(<span class="ruby-identifier">col</span> = <span class="ruby-value">0</span>) <span class="ruby-identifier">font</span> = <span class="ruby-identifier">column_font</span>(<span class="ruby-identifier">col</span>) <span class="ruby-identifier">font</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">is_bold</span> <span class="ruby-keyword">end</span></pre> </div> @@ -1966,11 +2466,11 @@ <div class="method-source-code" id="is_column_italicized-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 321</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 439</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">is_column_italicized</span>(<span class="ruby-identifier">col</span> = <span class="ruby-value">0</span>) <span class="ruby-identifier">font</span> = <span class="ruby-identifier">column_font</span>(<span class="ruby-identifier">col</span>) <span class="ruby-identifier">font</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">is_italic</span> <span class="ruby-keyword">end</span></pre> </div> @@ -2000,11 +2500,11 @@ <div class="method-source-code" id="is_column_struckthrough-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 336</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 454</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">is_column_struckthrough</span>(<span class="ruby-identifier">col</span> = <span class="ruby-value">0</span>) <span class="ruby-identifier">font</span> = <span class="ruby-identifier">column_font</span>(<span class="ruby-identifier">col</span>) <span class="ruby-identifier">font</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">is_strikethrough</span> <span class="ruby-keyword">end</span></pre> </div> @@ -2034,11 +2534,11 @@ <div class="method-source-code" id="is_column_underlined-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 331</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 449</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">is_column_underlined</span>(<span class="ruby-identifier">col</span> = <span class="ruby-value">0</span>) <span class="ruby-identifier">font</span> = <span class="ruby-identifier">column_font</span>(<span class="ruby-identifier">col</span>) <span class="ruby-identifier">font</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">is_underlined</span> <span class="ruby-keyword">end</span></pre> </div> @@ -2068,11 +2568,11 @@ <div class="method-source-code" id="is_row_bolded-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 257</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 367</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">is_row_bolded</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>) (<span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>)) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">is_bold</span> <span class="ruby-keyword">end</span></pre> </div> @@ -2101,11 +2601,11 @@ <div class="method-source-code" id="is_row_italicized-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 253</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 363</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">is_row_italicized</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>) (<span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>)) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">is_italic</span> <span class="ruby-keyword">end</span></pre> </div> @@ -2134,11 +2634,11 @@ <div class="method-source-code" id="is_row_struckthrough-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 265</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 375</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">is_row_struckthrough</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>) (<span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>)) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">is_strikethrough</span> <span class="ruby-keyword">end</span></pre> </div> @@ -2167,12 +2667,45 @@ <div class="method-source-code" id="is_row_underlined-source"> - <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 261</span> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 371</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier">is_row_underlined</span>(<span class="ruby-identifier">row</span> = <span class="ruby-value">0</span>) (<span class="ruby-identifier">font</span> = <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>)) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">font</span>.<span class="ruby-identifier">is_underlined</span> +<span class="ruby-keyword">end</span></pre> + </div> + + </div> + + + + + </div> + + + <div id="method-i-row_font" class="method-detail "> + + <div class="method-heading"> + <span class="method-name">row_font</span><span + class="method-args">(row)</span> + + <span class="method-click-advice">click to toggle source</span> + + </div> + + + <div class="method-description"> + + + + + + + <div class="method-source-code" id="row_font-source"> + <pre><span class="ruby-comment"># File lib/rubyXL/convenience_methods.rb, line 393</span> +<span class="ruby-keyword">def</span> <span class="ruby-identifier">row_font</span>(<span class="ruby-identifier">row</span>) + (<span class="ruby-identifier">row</span> = <span class="ruby-identifier">sheet_data</span>.<span class="ruby-identifier">rows</span>[<span class="ruby-identifier">row</span>]) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">row</span>.<span class="ruby-identifier">get_font</span> <span class="ruby-keyword">end</span></pre> </div> </div>