writeexcel 0.6.7 → 0.6.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +3 -0
 - data/VERSION +1 -1
 - data/examples/password_protection.rb +33 -0
 - data/html/en/doc_en.html +41 -41
 - data/lib/writeexcel/worksheet.rb +2 -2
 - data/test/perl_output/password_protection.xls +0 -0
 - data/test/test_example_match.rb +36 -0
 - data/writeexcel.gemspec +4 -2
 - metadata +4 -2
 
    
        data/README.rdoc
    CHANGED
    
    
    
        data/VERSION
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            0.6. 
     | 
| 
      
 1 
     | 
    
         
            +
            0.6.8
         
     | 
| 
         @@ -0,0 +1,33 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'rubygems'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'writeexcel'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
              workbook = WriteExcel.new('password_protection.xls')
         
     | 
| 
      
 5 
     | 
    
         
            +
              worksheet = workbook.add_worksheet
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                # Create some format objects
         
     | 
| 
      
 8 
     | 
    
         
            +
                locked    = workbook.add_format(:locked => 1)
         
     | 
| 
      
 9 
     | 
    
         
            +
                unlocked  = workbook.add_format(:locked => 0)
         
     | 
| 
      
 10 
     | 
    
         
            +
                hidden    = workbook.add_format(:hidden => 1)
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                # Format the columns
         
     | 
| 
      
 13 
     | 
    
         
            +
                worksheet.set_column('A:A', 42)
         
     | 
| 
      
 14 
     | 
    
         
            +
                worksheet.set_selection('B3:B3')
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
                # Protect the worksheet
         
     | 
| 
      
 17 
     | 
    
         
            +
                worksheet.protect('password')
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                # Examples of cell locking and hiding
         
     | 
| 
      
 20 
     | 
    
         
            +
                worksheet.write('A1', 'Cell B1 is locked. It cannot be edited.')
         
     | 
| 
      
 21 
     | 
    
         
            +
                worksheet.write('B1', '=1+2', locked)
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
                worksheet.write('A2', 'Cell B2 is unlocked. It can be edited.')
         
     | 
| 
      
 24 
     | 
    
         
            +
                worksheet.write('B2', '=1+2', unlocked)
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                worksheet.write('A3', "Cell B3 is hidden. The formula isn't visible.")
         
     | 
| 
      
 27 
     | 
    
         
            +
                worksheet.write('B3', '=1+2', hidden)
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
                worksheet.write('A5', 'Use Menu->Tools->Protection->Unprotect Sheet')
         
     | 
| 
      
 30 
     | 
    
         
            +
                worksheet.write('A6', 'to remove the worksheet protection.   ')
         
     | 
| 
      
 31 
     | 
    
         
            +
                worksheet.write('A7', 'The password is "password".   ')
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
                workbook.close
         
     | 
    
        data/html/en/doc_en.html
    CHANGED
    
    | 
         @@ -968,7 +968,7 @@ name="write_string" 
     | 
|
| 
       968 
968 
     | 
    
         | 
| 
       969 
969 
     | 
    
         
             
            <pre>
         
     | 
| 
       970 
970 
     | 
    
         
             
                # Format as a string. Doesn't change to a number when edited
         
     | 
| 
       971 
     | 
    
         
            -
                format1 = workbook.add_format(num_format => '@')
         
     | 
| 
      
 971 
     | 
    
         
            +
                format1 = workbook.add_format(:num_format => '@')
         
     | 
| 
       972 
972 
     | 
    
         
             
                worksheet.write_string('A2', '01209', format1)
         
     | 
| 
       973 
973 
     | 
    
         
             
            </pre>
         
     | 
| 
       974 
974 
     | 
    
         | 
| 
         @@ -1084,7 +1084,7 @@ name="write_col" 
     | 
|
| 
       1084 
1084 
     | 
    
         
             
            <p>The <code>write_col</code> method can be used to write a 1D or 2D array of data in one go. This is useful for converting the results of a database query into an Excel worksheet. You must pass a reference to the array of data rather than the array itself. The <code>write</code> method is then called for each element of the data. For example:</p>
         
     | 
| 
       1085 
1085 
     | 
    
         | 
| 
       1086 
1086 
     | 
    
         
             
            <pre>
         
     | 
| 
       1087 
     | 
    
         
            -
                array      = [39;awk', 'gawk', 'mawk']
         
     | 
| 
      
 1087 
     | 
    
         
            +
                array      = ['awk', 'gawk', 'mawk']
         
     | 
| 
       1088 
1088 
     | 
    
         | 
| 
       1089 
1089 
     | 
    
         
             
                worksheet.write_col(0, 0, array)
         
     | 
| 
       1090 
1090 
     | 
    
         | 
| 
         @@ -1173,7 +1173,7 @@ name="write_date_time" 
     | 
|
| 
       1173 
1173 
     | 
    
         
             
            >"CELL FORMATTING"</a>. Here is a typical example:</p>
         
     | 
| 
       1174 
1174 
     | 
    
         | 
| 
       1175 
1175 
     | 
    
         
             
            <pre>
         
     | 
| 
       1176 
     | 
    
         
            -
                date_format = workbook.add_format(num_format => 'mm/dd/yy')
         
     | 
| 
      
 1176 
     | 
    
         
            +
                date_format = workbook.add_format(:num_format => 'mm/dd/yy')
         
     | 
| 
       1177 
1177 
     | 
    
         
             
                worksheet.write_date_time('A1', '2004-05-13T23:20', date_format)
         
     | 
| 
       1178 
1178 
     | 
    
         
             
            </pre>
         
     | 
| 
       1179 
1179 
     | 
    
         | 
| 
         @@ -1457,7 +1457,7 @@ name="write_comment" 
     | 
|
| 
       1457 
1457 
     | 
    
         
             
            <p>This option is used to indicate that the comment string is encoded as <code>UTF-16BE</code>.</p>
         
     | 
| 
       1458 
1458 
     | 
    
         | 
| 
       1459 
1459 
     | 
    
         
             
            <pre>
         
     | 
| 
       1460 
     | 
    
         
            -
                comment = pack 
     | 
| 
      
 1460 
     | 
    
         
            +
                comment = [0x263a].pack('n')   # UTF-16BE Smiley symbol
         
     | 
| 
       1461 
1461 
     | 
    
         | 
| 
       1462 
1462 
     | 
    
         
             
                worksheet.write_comment('C3', comment, :encoding => 1)
         
     | 
| 
       1463 
1463 
     | 
    
         
             
            </pre>
         
     | 
| 
         @@ -1675,7 +1675,7 @@ name="insert_chart" 
     | 
|
| 
       1675 
1675 
     | 
    
         
             
            <p>This method can be used to insert a Chart object into a worksheet. The Chart must be created by the <code>add_chart</code> Workbook method and it must have the <code>embedded</code> option set.</p>
         
     | 
| 
       1676 
1676 
     | 
    
         | 
| 
       1677 
1677 
     | 
    
         
             
            <pre>
         
     | 
| 
       1678 
     | 
    
         
            -
                chart = workbook.add_chart( type => 'Chart::Line', :embedded => true )
         
     | 
| 
      
 1678 
     | 
    
         
            +
                chart = workbook.add_chart( :type => 'Chart::Line', :embedded => true )
         
     | 
| 
       1679 
1679 
     | 
    
         | 
| 
       1680 
1680 
     | 
    
         
             
                # Configure the chart.
         
     | 
| 
       1681 
1681 
     | 
    
         
             
                ...
         
     | 
| 
         @@ -1831,8 +1831,8 @@ name="protect" 
     | 
|
| 
       1831 
1831 
     | 
    
         | 
| 
       1832 
1832 
     | 
    
         
             
            <pre>
         
     | 
| 
       1833 
1833 
     | 
    
         
             
                # Set some format properties
         
     | 
| 
       1834 
     | 
    
         
            -
                unlocked  = workbook.add_format(locked => 0)
         
     | 
| 
       1835 
     | 
    
         
            -
                hidden    = workbook.add_format(hidden => 1)
         
     | 
| 
      
 1834 
     | 
    
         
            +
                unlocked  = workbook.add_format(:locked => 0)
         
     | 
| 
      
 1835 
     | 
    
         
            +
                hidden    = workbook.add_format(:hidden => 1)
         
     | 
| 
       1836 
1836 
     | 
    
         | 
| 
       1837 
1837 
     | 
    
         
             
                # Enable worksheet protection
         
     | 
| 
       1838 
1838 
     | 
    
         
             
                worksheet.protect
         
     | 
| 
         @@ -2109,9 +2109,9 @@ name="merge_range" 
     | 
|
| 
       2109 
2109 
     | 
    
         | 
| 
       2110 
2110 
     | 
    
         
             
            <pre>
         
     | 
| 
       2111 
2111 
     | 
    
         
             
                format = workbook.add_format(
         
     | 
| 
       2112 
     | 
    
         
            -
                                                    border  => 6,
         
     | 
| 
       2113 
     | 
    
         
            -
                                                    valign  => 'vcenter',
         
     | 
| 
       2114 
     | 
    
         
            -
                                                    align   => 'center',
         
     | 
| 
      
 2112 
     | 
    
         
            +
                                                    :border  => 6,
         
     | 
| 
      
 2113 
     | 
    
         
            +
                                                    :valign  => 'vcenter',
         
     | 
| 
      
 2114 
     | 
    
         
            +
                                                    :align   => 'center',
         
     | 
| 
       2115 
2115 
     | 
    
         
             
                                                  )
         
     | 
| 
       2116 
2116 
     | 
    
         | 
| 
       2117 
2117 
     | 
    
         
             
                worksheet.merge_range('B3:D4', 'Vertical and horizontal', format)
         
     | 
| 
         @@ -2592,7 +2592,7 @@ name="set_landscape" 
     | 
|
| 
       2592 
2592 
     | 
    
         
             
            <p>This method is used to set the orientation of a worksheet's printed page to landscape:</p>
         
     | 
| 
       2593 
2593 
     | 
    
         | 
| 
       2594 
2594 
     | 
    
         
             
            <pre>
         
     | 
| 
       2595 
     | 
    
         
            -
                worksheet.set_landscape 
     | 
| 
      
 2595 
     | 
    
         
            +
                worksheet.set_landscape  # Landscape mode
         
     | 
| 
       2596 
2596 
     | 
    
         
             
            </pre>
         
     | 
| 
       2597 
2597 
     | 
    
         | 
| 
       2598 
2598 
     | 
    
         
             
            <h2><a class='u' href='#___top' title='click to go to top of document'
         
     | 
| 
         @@ -2602,7 +2602,7 @@ name="set_portrait" 
     | 
|
| 
       2602 
2602 
     | 
    
         
             
            <p>This method is used to set the orientation of a worksheet's printed page to portrait. The default worksheet orientation is portrait, so you won't generally need to call this method.</p>
         
     | 
| 
       2603 
2603 
     | 
    
         | 
| 
       2604 
2604 
     | 
    
         
             
            <pre>
         
     | 
| 
       2605 
     | 
    
         
            -
                worksheet.set_portrait 
     | 
| 
      
 2605 
     | 
    
         
            +
                worksheet.set_portrait  # Portrait mode
         
     | 
| 
       2606 
2606 
     | 
    
         
             
            </pre>
         
     | 
| 
       2607 
2607 
     | 
    
         | 
| 
       2608 
2608 
     | 
    
         
             
            <h2><a class='u' href='#___top' title='click to go to top of document'
         
     | 
| 
         @@ -2707,10 +2707,10 @@ name="set_margins" 
     | 
|
| 
       2707 
2707 
     | 
    
         
             
                set_margins        # Set all margins to the same value
         
     | 
| 
       2708 
2708 
     | 
    
         
             
                set_margins_LR     # Set left and right margins to the same value
         
     | 
| 
       2709 
2709 
     | 
    
         
             
                set_margins_TB     # Set top and bottom margins to the same value
         
     | 
| 
       2710 
     | 
    
         
            -
                set_margin_left 
     | 
| 
       2711 
     | 
    
         
            -
                set_margin_right 
     | 
| 
       2712 
     | 
    
         
            -
                set_margin_top 
     | 
| 
       2713 
     | 
    
         
            -
                set_margin_bottom 
     | 
| 
      
 2710 
     | 
    
         
            +
                set_margin_left    # Set left margin
         
     | 
| 
      
 2711 
     | 
    
         
            +
                set_margin_right   # Set right margin
         
     | 
| 
      
 2712 
     | 
    
         
            +
                set_margin_top     # Set top margin
         
     | 
| 
      
 2713 
     | 
    
         
            +
                set_margin_bottom  # Set bottom margin
         
     | 
| 
       2714 
2714 
     | 
    
         
             
            </pre>
         
     | 
| 
       2715 
2715 
     | 
    
         | 
| 
       2716 
2716 
     | 
    
         
             
            <p>All of these methods take a distance in inches as a parameter. Note: 1 inch = 25.4mm. ;-) The default left and right margin is 0.75 inch. The default top and bottom margin is 1.00 inch.</p>
         
     | 
| 
         @@ -3226,7 +3226,7 @@ name="Working_with_formats" 
     | 
|
| 
       3226 
3226 
     | 
    
         | 
| 
       3227 
3227 
     | 
    
         
             
            <pre>
         
     | 
| 
       3228 
3228 
     | 
    
         
             
                format1 = workbook.add_format
         
     | 
| 
       3229 
     | 
    
         
            -
                format1.set_bold 
     | 
| 
      
 3229 
     | 
    
         
            +
                format1.set_bold    # Turns bold on
         
     | 
| 
       3230 
3230 
     | 
    
         
             
                format1.set_bold(1) # Also turns bold on
         
     | 
| 
       3231 
3231 
     | 
    
         
             
                format1.set_bold(0) # Turns bold off
         
     | 
| 
       3232 
3232 
     | 
    
         
             
            </pre>
         
     | 
| 
         @@ -3275,7 +3275,7 @@ name="FORMAT_METHODS" 
     | 
|
| 
       3275 
3275 
     | 
    
         
             
                set_right_color
         
     | 
| 
       3276 
3276 
     | 
    
         
             
            </pre>
         
     | 
| 
       3277 
3277 
     | 
    
         | 
| 
       3278 
     | 
    
         
            -
            <p>The above methods can also be applied directly as properties. For example <code>format.set_bold</code> is equivalent to <code>workbook.add_format(bold => 1)</code>.</p>
         
     | 
| 
      
 3278 
     | 
    
         
            +
            <p>The above methods can also be applied directly as properties. For example <code>format.set_bold</code> is equivalent to <code>workbook.add_format(:bold => 1)</code>.</p>
         
     | 
| 
       3279 
3279 
     | 
    
         | 
| 
       3280 
3280 
     | 
    
         
             
            <h2><a class='u' href='#___top' title='click to go to top of document'
         
     | 
| 
       3281 
3281 
     | 
    
         
             
            name="set_format_properties"
         
     | 
| 
         @@ -3285,13 +3285,13 @@ name="set_format_properties" 
     | 
|
| 
       3285 
3285 
     | 
    
         | 
| 
       3286 
3286 
     | 
    
         
             
            <pre>
         
     | 
| 
       3287 
3287 
     | 
    
         
             
                format = workbook.add_format
         
     | 
| 
       3288 
     | 
    
         
            -
                format.set_format_properties(bold => 1, color => 'red')
         
     | 
| 
      
 3288 
     | 
    
         
            +
                format.set_format_properties(:bold => 1, :color => 'red')
         
     | 
| 
       3289 
3289 
     | 
    
         
             
            </pre>
         
     | 
| 
       3290 
3290 
     | 
    
         | 
| 
       3291 
3291 
     | 
    
         
             
            <p>However, this method is here mainly for legacy reasons. It is preferable to set the properties in the format constructor:</p>
         
     | 
| 
       3292 
3292 
     | 
    
         | 
| 
       3293 
3293 
     | 
    
         
             
            <pre>
         
     | 
| 
       3294 
     | 
    
         
            -
                format = workbook.add_format(bold => 1, color => 'red')
         
     | 
| 
      
 3294 
     | 
    
         
            +
                format = workbook.add_format(:bold => 1, :color => 'red')
         
     | 
| 
       3295 
3295 
     | 
    
         
             
            </pre>
         
     | 
| 
       3296 
3296 
     | 
    
         | 
| 
       3297 
3297 
     | 
    
         
             
            <h2><a class='u' href='#___top' title='click to go to top of document'
         
     | 
| 
         @@ -3383,7 +3383,7 @@ name="set_bold" 
     | 
|
| 
       3383 
3383 
     | 
    
         
             
            <p>Set the bold property of the font:</p>
         
     | 
| 
       3384 
3384 
     | 
    
         | 
| 
       3385 
3385 
     | 
    
         
             
            <pre>
         
     | 
| 
       3386 
     | 
    
         
            -
                format.set_bold 
     | 
| 
      
 3386 
     | 
    
         
            +
                format.set_bold   # Turn bold on
         
     | 
| 
       3387 
3387 
     | 
    
         
             
            </pre>
         
     | 
| 
       3388 
3388 
     | 
    
         | 
| 
       3389 
3389 
     | 
    
         
             
            <p>[1] Actually, values in the range 100..1000 are also valid. 400 is normal, 700 is bold and 1000 is very bold indeed. It is probably best to set the value to 1 and use normal bold.</p>
         
     | 
| 
         @@ -3401,7 +3401,7 @@ name="set_italic" 
     | 
|
| 
       3401 
3401 
     | 
    
         
             
            <p>Set the italic property of the font:</p>
         
     | 
| 
       3402 
3402 
     | 
    
         | 
| 
       3403 
3403 
     | 
    
         
             
            <pre>
         
     | 
| 
       3404 
     | 
    
         
            -
                format.set_italic 
     | 
| 
      
 3404 
     | 
    
         
            +
                format.set_italic   # Turn italic on
         
     | 
| 
       3405 
3405 
     | 
    
         
             
            </pre>
         
     | 
| 
       3406 
3406 
     | 
    
         | 
| 
       3407 
3407 
     | 
    
         
             
            <h2><a class='u' href='#___top' title='click to go to top of document'
         
     | 
| 
         @@ -3421,7 +3421,7 @@ name="set_underline" 
     | 
|
| 
       3421 
3421 
     | 
    
         
             
            <p>Set the underline property of the font.</p>
         
     | 
| 
       3422 
3422 
     | 
    
         | 
| 
       3423 
3423 
     | 
    
         
             
            <pre>
         
     | 
| 
       3424 
     | 
    
         
            -
                format.set_underline 
     | 
| 
      
 3424 
     | 
    
         
            +
                format.set_underline    # Single underline
         
     | 
| 
       3425 
3425 
     | 
    
         
             
            </pre>
         
     | 
| 
       3426 
3426 
     | 
    
         | 
| 
       3427 
3427 
     | 
    
         
             
            <h2><a class='u' href='#___top' title='click to go to top of document'
         
     | 
| 
         @@ -3846,7 +3846,7 @@ name="set_bg_color" 
     | 
|
| 
       3846 
3846 
     | 
    
         
             
            <pre>
         
     | 
| 
       3847 
3847 
     | 
    
         
             
                format = workbook.add_format
         
     | 
| 
       3848 
3848 
     | 
    
         | 
| 
       3849 
     | 
    
         
            -
                format.set_pattern 
     | 
| 
      
 3849 
     | 
    
         
            +
                format.set_pattern  # This is optional when using a solid fill
         
     | 
| 
       3850 
3850 
     | 
    
         | 
| 
       3851 
3851 
     | 
    
         
             
                format.set_bg_color('green')
         
     | 
| 
       3852 
3852 
     | 
    
         
             
                worksheet.write('A1', 'Ray', format)
         
     | 
| 
         @@ -4142,11 +4142,11 @@ name="Chart_names_and_Unicode" 
     | 
|
| 
       4142 
4142 
     | 
    
         
             
            <p>You can write Unicode strings as UTF-16BE by adding a <code>name_encoding</code> property:</p>
         
     | 
| 
       4143 
4143 
     | 
    
         | 
| 
       4144 
4144 
     | 
    
         
             
            <pre>
         
     | 
| 
       4145 
     | 
    
         
            -
                utf16be_name = pack 
     | 
| 
      
 4145 
     | 
    
         
            +
                utf16be_name = [0x263a].pack('n')
         
     | 
| 
       4146 
4146 
     | 
    
         | 
| 
       4147 
4147 
     | 
    
         
             
                chart.set_title(
         
     | 
| 
       4148 
     | 
    
         
            -
                  name          => utf16be_name,
         
     | 
| 
       4149 
     | 
    
         
            -
                  name_encoding => 1,
         
     | 
| 
      
 4148 
     | 
    
         
            +
                  :name          => utf16be_name,
         
     | 
| 
      
 4149 
     | 
    
         
            +
                  :name_encoding => 1,
         
     | 
| 
       4150 
4150 
     | 
    
         
             
                )
         
     | 
| 
       4151 
4151 
     | 
    
         
             
            </pre>
         
     | 
| 
       4152 
4152 
     | 
    
         | 
| 
         @@ -4195,22 +4195,22 @@ name="An_Excel_date_time_is_a_number_plus_a_format" 
     | 
|
| 
       4195 
4195 
     | 
    
         | 
| 
       4196 
4196 
     | 
    
         
             
                worksheet.write('A1', number)            #     39506.5
         
     | 
| 
       4197 
4197 
     | 
    
         | 
| 
       4198 
     | 
    
         
            -
                format2 = workbook.add_format(num_format => 'dd/mm/yy')
         
     | 
| 
      
 4198 
     | 
    
         
            +
                format2 = workbook.add_format(:num_format => 'dd/mm/yy')
         
     | 
| 
       4199 
4199 
     | 
    
         
             
                worksheet.write('A2', number , format2) #     28/02/08
         
     | 
| 
       4200 
4200 
     | 
    
         | 
| 
       4201 
     | 
    
         
            -
                format3 = workbook.add_format(num_format => 'mm/dd/yy')
         
     | 
| 
      
 4201 
     | 
    
         
            +
                format3 = workbook.add_format(:num_format => 'mm/dd/yy')
         
     | 
| 
       4202 
4202 
     | 
    
         
             
                worksheet.write('A3', number , format3) #     02/28/08
         
     | 
| 
       4203 
4203 
     | 
    
         | 
| 
       4204 
     | 
    
         
            -
                format4 = workbook.add_format(num_format => 'd-m-yyyy')
         
     | 
| 
      
 4204 
     | 
    
         
            +
                format4 = workbook.add_format(:num_format => 'd-m-yyyy')
         
     | 
| 
       4205 
4205 
     | 
    
         
             
                worksheet.write('A4', number , format4) #     28-2-2008
         
     | 
| 
       4206 
4206 
     | 
    
         | 
| 
       4207 
     | 
    
         
            -
                format5 = workbook.add_format(num_format => 'dd/mm/yy hh:mm')
         
     | 
| 
      
 4207 
     | 
    
         
            +
                format5 = workbook.add_format(:num_format => 'dd/mm/yy hh:mm')
         
     | 
| 
       4208 
4208 
     | 
    
         
             
                worksheet.write('A5', number , format5) #     28/02/08 12:00
         
     | 
| 
       4209 
4209 
     | 
    
         | 
| 
       4210 
     | 
    
         
            -
                format6 = workbook.add_format(num_format => 'd mmm yyyy')
         
     | 
| 
      
 4210 
     | 
    
         
            +
                format6 = workbook.add_format(:num_format => 'd mmm yyyy')
         
     | 
| 
       4211 
4211 
     | 
    
         
             
                worksheet.write('A6', number , format6) #     28 Feb 2008
         
     | 
| 
       4212 
4212 
     | 
    
         | 
| 
       4213 
     | 
    
         
            -
                format7 = workbook.add_format(num_format => 'mmm d yyyy hh:mm AM/PM')
         
     | 
| 
      
 4213 
     | 
    
         
            +
                format7 = workbook.add_format(:num_format => 'mmm d yyyy hh:mm AM/PM')
         
     | 
| 
       4214 
4214 
     | 
    
         
             
                worksheet.write('A7', number , format7) #     Feb 28 2008 12:00 PM
         
     | 
| 
       4215 
4215 
     | 
    
         
             
            </pre>
         
     | 
| 
       4216 
4216 
     | 
    
         | 
| 
         @@ -4254,7 +4254,7 @@ name="WriteExcel_doesnt_automatically_convert_date_time_strings" 
     | 
|
| 
       4254 
4254 
     | 
    
         
             
                worksheet   = workbook.add_worksheet
         
     | 
| 
       4255 
4255 
     | 
    
         | 
| 
       4256 
4256 
     | 
    
         
             
                # Set the default format for dates.
         
     | 
| 
       4257 
     | 
    
         
            -
                date_format = workbook.add_format(num_format => 'mmm d yyyy')
         
     | 
| 
      
 4257 
     | 
    
         
            +
                date_format = workbook.add_format(:num_format => 'mmm d yyyy')
         
     | 
| 
       4258 
4258 
     | 
    
         | 
| 
       4259 
4259 
     | 
    
         
             
                # Increase column width to improve visibility of data.
         
     | 
| 
       4260 
4260 
     | 
    
         
             
                worksheet.set_column('A:C', 20)
         
     | 
| 
         @@ -4419,7 +4419,7 @@ name="DATA_VALIDATION_IN_EXCEL" 
     | 
|
| 
       4419 
4419 
     | 
    
         | 
| 
       4420 
4420 
     | 
    
         
             
            <h2><a class='u' href='#___top' title='click to go to top of document'
         
     | 
| 
       4421 
4421 
     | 
    
         
             
            name="data_validation"
         
     | 
| 
       4422 
     | 
    
         
            -
            >data_validation(row, col, { parameter => 'value', ... })</a></h2>
         
     | 
| 
      
 4422 
     | 
    
         
            +
            >data_validation(row, col, { :parameter => 'value', ... })</a></h2>
         
     | 
| 
       4423 
4423 
     | 
    
         | 
| 
       4424 
4424 
     | 
    
         
             
            <p>The <code>data_validation</code> method is used to construct an Excel data validation.</p>
         
     | 
| 
       4425 
4425 
     | 
    
         | 
| 
         @@ -5448,12 +5448,12 @@ name="Example_7" 
     | 
|
| 
       5448 
5448 
     | 
    
         
             
                bold      = workbook.add_format( :bold => 1 )
         
     | 
| 
       5449 
5449 
     | 
    
         | 
| 
       5450 
5450 
     | 
    
         
             
                # Add the worksheet data that the charts will refer to.
         
     | 
| 
       5451 
     | 
    
         
            -
                headings = [ 'Number', 'Sample 1', 'Sample 2' ] 
     | 
| 
      
 5451 
     | 
    
         
            +
                headings = [ 'Number', 'Sample 1', 'Sample 2' ]
         
     | 
| 
       5452 
5452 
     | 
    
         
             
                data = [
         
     | 
| 
       5453 
5453 
     | 
    
         
             
                    [ 2, 3, 4, 5, 6, 7 ],
         
     | 
| 
       5454 
5454 
     | 
    
         
             
                    [ 1, 4, 5, 2, 1, 5 ],
         
     | 
| 
       5455 
5455 
     | 
    
         
             
                    [ 3, 6, 7, 5, 4, 3 ],
         
     | 
| 
       5456 
     | 
    
         
            -
                ] 
     | 
| 
      
 5456 
     | 
    
         
            +
                ]
         
     | 
| 
       5457 
5457 
     | 
    
         | 
| 
       5458 
5458 
     | 
    
         
             
                worksheet.write( 'A1', headings, bold )
         
     | 
| 
       5459 
5459 
     | 
    
         
             
                worksheet.write( 'A2', data )
         
     | 
| 
         @@ -5508,12 +5508,12 @@ name="Example_8" 
     | 
|
| 
       5508 
5508 
     | 
    
         
             
                bold      = workbook.add_format( :bold => 1 )
         
     | 
| 
       5509 
5509 
     | 
    
         | 
| 
       5510 
5510 
     | 
    
         
             
                # Add the worksheet data that the charts will refer to.
         
     | 
| 
       5511 
     | 
    
         
            -
                headings = [ 'Number', 'Sample 1', 'Sample 2' ] 
     | 
| 
      
 5511 
     | 
    
         
            +
                headings = [ 'Number', 'Sample 1', 'Sample 2' ]
         
     | 
| 
       5512 
5512 
     | 
    
         
             
                data = [
         
     | 
| 
       5513 
5513 
     | 
    
         
             
                    [ 2, 3, 4, 5, 6, 7 ],
         
     | 
| 
       5514 
5514 
     | 
    
         
             
                    [ 1, 4, 5, 2, 1, 5 ],
         
     | 
| 
       5515 
5515 
     | 
    
         
             
                    [ 3, 6, 7, 5, 4, 3 ],
         
     | 
| 
       5516 
     | 
    
         
            -
                ] 
     | 
| 
      
 5516 
     | 
    
         
            +
                ]
         
     | 
| 
       5517 
5517 
     | 
    
         | 
| 
       5518 
5518 
     | 
    
         
             
                worksheet.write( 'A1', headings, bold )
         
     | 
| 
       5519 
5519 
     | 
    
         
             
                worksheet.write( 'A2', data )
         
     | 
| 
         @@ -5568,12 +5568,12 @@ name="Example_9" 
     | 
|
| 
       5568 
5568 
     | 
    
         
             
                bold      = workbook.add_format( :bold => 1 )
         
     | 
| 
       5569 
5569 
     | 
    
         | 
| 
       5570 
5570 
     | 
    
         
             
                # Add the worksheet data that the charts will refer to.
         
     | 
| 
       5571 
     | 
    
         
            -
                headings = [ 'Number', 'Sample 1', 'Sample 2' ] 
     | 
| 
      
 5571 
     | 
    
         
            +
                headings = [ 'Number', 'Sample 1', 'Sample 2' ]
         
     | 
| 
       5572 
5572 
     | 
    
         
             
                data = [
         
     | 
| 
       5573 
5573 
     | 
    
         
             
                    [ 2, 3, 4, 5, 6, 7 ],
         
     | 
| 
       5574 
5574 
     | 
    
         
             
                    [ 1, 4, 5, 2, 1, 5 ],
         
     | 
| 
       5575 
5575 
     | 
    
         
             
                    [ 3, 6, 7, 5, 4, 3 ],
         
     | 
| 
       5576 
     | 
    
         
            -
                ] 
     | 
| 
      
 5576 
     | 
    
         
            +
                ]
         
     | 
| 
       5577 
5577 
     | 
    
         | 
| 
       5578 
5578 
     | 
    
         
             
                worksheet.write( 'A1', headings, bold )
         
     | 
| 
       5579 
5579 
     | 
    
         
             
                worksheet.write( 'A2', data )
         
     | 
    
        data/lib/writeexcel/worksheet.rb
    CHANGED
    
    | 
         @@ -5008,12 +5008,12 @@ def sort_pagebreaks(breaks)       #:nodoc: 
     | 
|
| 
       5008 
5008 
     | 
    
         
             
              #
         
     | 
| 
       5009 
5009 
     | 
    
         
             
              # Based on the algorithm provided by Daniel Rentz of OpenOffice.
         
     | 
| 
       5010 
5010 
     | 
    
         
             
              #
         
     | 
| 
       5011 
     | 
    
         
            -
              def encode_password(password) 
     | 
| 
      
 5011 
     | 
    
         
            +
              def encode_password(password)
         
     | 
| 
       5012 
5012 
     | 
    
         
             
                i = 0
         
     | 
| 
       5013 
5013 
     | 
    
         
             
                chars = password.split(//)
         
     | 
| 
       5014 
5014 
     | 
    
         
             
                count = chars.size
         
     | 
| 
       5015 
5015 
     | 
    
         | 
| 
       5016 
     | 
    
         
            -
                chars. 
     | 
| 
      
 5016 
     | 
    
         
            +
                chars.collect! do |char|
         
     | 
| 
       5017 
5017 
     | 
    
         
             
                  i += 1
         
     | 
| 
       5018 
5018 
     | 
    
         
             
                  char     = char[0] << i
         
     | 
| 
       5019 
5019 
     | 
    
         
             
                  low_15   = char & 0x7fff
         
     | 
| 
         Binary file 
     | 
    
        data/test/test_example_match.rb
    CHANGED
    
    | 
         @@ -1203,6 +1203,42 @@ def test_protection 
     | 
|
| 
       1203 
1203 
     | 
    
         
             
                compare_file("#{PERL_OUTDIR}/protection.xls", @file)
         
     | 
| 
       1204 
1204 
     | 
    
         
             
              end
         
     | 
| 
       1205 
1205 
     | 
    
         | 
| 
      
 1206 
     | 
    
         
            +
              def test_password_protection
         
     | 
| 
      
 1207 
     | 
    
         
            +
                workbook  = WriteExcel.new(@file)
         
     | 
| 
      
 1208 
     | 
    
         
            +
                worksheet = workbook.add_worksheet
         
     | 
| 
      
 1209 
     | 
    
         
            +
             
     | 
| 
      
 1210 
     | 
    
         
            +
                # Create some format objects
         
     | 
| 
      
 1211 
     | 
    
         
            +
                locked    = workbook.add_format(:locked => 1)
         
     | 
| 
      
 1212 
     | 
    
         
            +
                unlocked  = workbook.add_format(:locked => 0)
         
     | 
| 
      
 1213 
     | 
    
         
            +
                hidden    = workbook.add_format(:hidden => 1)
         
     | 
| 
      
 1214 
     | 
    
         
            +
             
     | 
| 
      
 1215 
     | 
    
         
            +
                # Format the columns
         
     | 
| 
      
 1216 
     | 
    
         
            +
                worksheet.set_column('A:A', 42)
         
     | 
| 
      
 1217 
     | 
    
         
            +
                worksheet.set_selection('B3:B3')
         
     | 
| 
      
 1218 
     | 
    
         
            +
             
     | 
| 
      
 1219 
     | 
    
         
            +
                # Protect the worksheet
         
     | 
| 
      
 1220 
     | 
    
         
            +
                worksheet.protect('password')
         
     | 
| 
      
 1221 
     | 
    
         
            +
             
     | 
| 
      
 1222 
     | 
    
         
            +
                # Examples of cell locking and hiding
         
     | 
| 
      
 1223 
     | 
    
         
            +
                worksheet.write('A1', 'Cell B1 is locked. It cannot be edited.')
         
     | 
| 
      
 1224 
     | 
    
         
            +
                worksheet.write('B1', '=1+2', locked)
         
     | 
| 
      
 1225 
     | 
    
         
            +
             
     | 
| 
      
 1226 
     | 
    
         
            +
                worksheet.write('A2', 'Cell B2 is unlocked. It can be edited.')
         
     | 
| 
      
 1227 
     | 
    
         
            +
                worksheet.write('B2', '=1+2', unlocked)
         
     | 
| 
      
 1228 
     | 
    
         
            +
             
     | 
| 
      
 1229 
     | 
    
         
            +
                worksheet.write('A3', "Cell B3 is hidden. The formula isn't visible.")
         
     | 
| 
      
 1230 
     | 
    
         
            +
                worksheet.write('B3', '=1+2', hidden)
         
     | 
| 
      
 1231 
     | 
    
         
            +
             
     | 
| 
      
 1232 
     | 
    
         
            +
                worksheet.write('A5', 'Use Menu->Tools->Protection->Unprotect Sheet')
         
     | 
| 
      
 1233 
     | 
    
         
            +
                worksheet.write('A6', 'to remove the worksheet protection.   ')
         
     | 
| 
      
 1234 
     | 
    
         
            +
                worksheet.write('A7', 'The password is "password".   ')
         
     | 
| 
      
 1235 
     | 
    
         
            +
             
     | 
| 
      
 1236 
     | 
    
         
            +
                workbook.close
         
     | 
| 
      
 1237 
     | 
    
         
            +
             
     | 
| 
      
 1238 
     | 
    
         
            +
                # do assertion
         
     | 
| 
      
 1239 
     | 
    
         
            +
                compare_file("#{PERL_OUTDIR}/password_protection.xls", @file)
         
     | 
| 
      
 1240 
     | 
    
         
            +
              end
         
     | 
| 
      
 1241 
     | 
    
         
            +
             
     | 
| 
       1206 
1242 
     | 
    
         
             
              def test_date_time
         
     | 
| 
       1207 
1243 
     | 
    
         
             
                # Create a new workbook and add a worksheet
         
     | 
| 
       1208 
1244 
     | 
    
         
             
                workbook  = WriteExcel.new(@file)
         
     | 
    
        data/writeexcel.gemspec
    CHANGED
    
    | 
         @@ -5,11 +5,11 @@ 
     | 
|
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            Gem::Specification.new do |s|
         
     | 
| 
       7 
7 
     | 
    
         
             
              s.name = %q{writeexcel}
         
     | 
| 
       8 
     | 
    
         
            -
              s.version = "0.6. 
     | 
| 
      
 8 
     | 
    
         
            +
              s.version = "0.6.8"
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         
     | 
| 
       11 
11 
     | 
    
         
             
              s.authors = ["Hideo NAKAMURA"]
         
     | 
| 
       12 
     | 
    
         
            -
              s.date = %q{2011-07- 
     | 
| 
      
 12 
     | 
    
         
            +
              s.date = %q{2011-07-30}
         
     | 
| 
       13 
13 
     | 
    
         
             
              s.description = %q{Multiple worksheets can be added to a workbook and formatting can be applied to cells. Text, numbers, formulas, hyperlinks and images can be written to the cells.}
         
     | 
| 
       14 
14 
     | 
    
         
             
              s.email = %q{cxn03651@msj.biglobe.ne.jp}
         
     | 
| 
       15 
15 
     | 
    
         
             
              s.extra_rdoc_files = [
         
     | 
| 
         @@ -68,6 +68,7 @@ Gem::Specification.new do |s| 
     | 
|
| 
       68 
68 
     | 
    
         
             
                "examples/outline.rb",
         
     | 
| 
       69 
69 
     | 
    
         
             
                "examples/outline_collapsed.rb",
         
     | 
| 
       70 
70 
     | 
    
         
             
                "examples/panes.rb",
         
     | 
| 
      
 71 
     | 
    
         
            +
                "examples/password_protection.rb",
         
     | 
| 
       71 
72 
     | 
    
         
             
                "examples/properties.rb",
         
     | 
| 
       72 
73 
     | 
    
         
             
                "examples/properties_jp.rb",
         
     | 
| 
       73 
74 
     | 
    
         
             
                "examples/protection.rb",
         
     | 
| 
         @@ -181,6 +182,7 @@ Gem::Specification.new do |s| 
     | 
|
| 
       181 
182 
     | 
    
         
             
                "test/perl_output/outline.xls",
         
     | 
| 
       182 
183 
     | 
    
         
             
                "test/perl_output/outline_collapsed.xls",
         
     | 
| 
       183 
184 
     | 
    
         
             
                "test/perl_output/panes.xls",
         
     | 
| 
      
 185 
     | 
    
         
            +
                "test/perl_output/password_protection.xls",
         
     | 
| 
       184 
186 
     | 
    
         
             
                "test/perl_output/protection.xls",
         
     | 
| 
       185 
187 
     | 
    
         
             
                "test/perl_output/regions.xls",
         
     | 
| 
       186 
188 
     | 
    
         
             
                "test/perl_output/right_to_left.xls",
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: writeexcel
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.6. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.6.8
         
     | 
| 
       5 
5 
     | 
    
         
             
              prerelease: 
         
     | 
| 
       6 
6 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       7 
7 
     | 
    
         
             
            authors:
         
     | 
| 
         @@ -9,7 +9,7 @@ authors: 
     | 
|
| 
       9 
9 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       10 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date: 2011-07- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2011-07-30 00:00:00.000000000 +09:00
         
     | 
| 
       13 
13 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       14 
14 
     | 
    
         
             
            dependencies: []
         
     | 
| 
       15 
15 
     | 
    
         
             
            description: Multiple worksheets can be added to a workbook and formatting can be
         
     | 
| 
         @@ -73,6 +73,7 @@ files: 
     | 
|
| 
       73 
73 
     | 
    
         
             
            - examples/outline.rb
         
     | 
| 
       74 
74 
     | 
    
         
             
            - examples/outline_collapsed.rb
         
     | 
| 
       75 
75 
     | 
    
         
             
            - examples/panes.rb
         
     | 
| 
      
 76 
     | 
    
         
            +
            - examples/password_protection.rb
         
     | 
| 
       76 
77 
     | 
    
         
             
            - examples/properties.rb
         
     | 
| 
       77 
78 
     | 
    
         
             
            - examples/properties_jp.rb
         
     | 
| 
       78 
79 
     | 
    
         
             
            - examples/protection.rb
         
     | 
| 
         @@ -186,6 +187,7 @@ files: 
     | 
|
| 
       186 
187 
     | 
    
         
             
            - test/perl_output/outline.xls
         
     | 
| 
       187 
188 
     | 
    
         
             
            - test/perl_output/outline_collapsed.xls
         
     | 
| 
       188 
189 
     | 
    
         
             
            - test/perl_output/panes.xls
         
     | 
| 
      
 190 
     | 
    
         
            +
            - test/perl_output/password_protection.xls
         
     | 
| 
       189 
191 
     | 
    
         
             
            - test/perl_output/protection.xls
         
     | 
| 
       190 
192 
     | 
    
         
             
            - test/perl_output/regions.xls
         
     | 
| 
       191 
193 
     | 
    
         
             
            - test/perl_output/right_to_left.xls
         
     |