examples/stocks.rb in writeexcel-0.1.0 vs examples/stocks.rb in writeexcel-0.3.0

- old
+ new

@@ -1,80 +1,80 @@ - #!/usr/bin/ruby -w - -############################################################################### -# -# Example of formatting using the Spreadsheet::WriteExcel module -# -# This example shows how to use a conditional numerical format -# with colours to indicate if a share price has gone up or down. -# -# reverse('©'), March 2001, John McNamara, jmcnamara@cpan.org -# -# original written in Perl by John McNamara -# converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp -# - -require 'rubygems' -require 'writeexcel' - -# Create a new workbook and add a worksheet -workbook = Spreadsheet::WriteExcel.new("stocks.xls") -worksheet = workbook.add_worksheet - -# Set the column width for columns 1, 2, 3 and 4 -worksheet.set_column(0, 3, 15) - - -# Create a format for the column headings -header = workbook.add_format -header.set_bold -header.set_size(12) -header.set_color('blue') - - -# Create a format for the stock price -f_price = workbook.add_format -f_price.set_align('left') -f_price.set_num_format('$0.00') - - -# Create a format for the stock volume -f_volume = workbook.add_format -f_volume.set_align('left') -f_volume.set_num_format('#,##0') - - -# Create a format for the price change. This is an example of a conditional -# format. The number is formatted as a percentage. If it is positive it is -# formatted in green, if it is negative it is formatted in red and if it is -# zero it is formatted as the default font colour (in this case black). -# Note: the [Green] format produces an unappealing lime green. Try -# [Color 10] instead for a dark green. -# -f_change = workbook.add_format -f_change.set_align('left') -f_change.set_num_format('[Green]0.0%;[Red]-0.0%;0.0%') - - -# Write out the data -worksheet.write(0, 0, 'Company', header) -worksheet.write(0, 1, 'Price', header) -worksheet.write(0, 2, 'Volume', header) -worksheet.write(0, 3, 'Change', header) - -worksheet.write(1, 0, 'Damage Inc.' ) -worksheet.write(1, 1, 30.25, f_price) # $30.25 -worksheet.write(1, 2, 1234567, f_volume) # 1,234,567 -worksheet.write(1, 3, 0.085, f_change) # 8.5% in green - -worksheet.write(2, 0, 'Dump Corp.' ) -worksheet.write(2, 1, 1.56, f_price) # $1.56 -worksheet.write(2, 2, 7564, f_volume) # 7,564 -worksheet.write(2, 3, -0.015, f_change) # -1.5% in red - -worksheet.write(3, 0, 'Rev Ltd.' ) -worksheet.write(3, 1, 0.13, f_price) # $0.13 -worksheet.write(3, 2, 321, f_volume) # 321 -worksheet.write(3, 3, 0, f_change) # 0 in the font color (black) - - -workbook.close + #!/usr/bin/ruby -w + +############################################################################### +# +# Example of formatting using the WriteExcel module +# +# This example shows how to use a conditional numerical format +# with colours to indicate if a share price has gone up or down. +# +# reverse('©'), March 2001, John McNamara, jmcnamara@cpan.org +# +# original written in Perl by John McNamara +# converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp +# + +require 'rubygems' +require 'writeexcel' + +# Create a new workbook and add a worksheet +workbook = WriteExcel.new("stocks.xls") +worksheet = workbook.add_worksheet + +# Set the column width for columns 1, 2, 3 and 4 +worksheet.set_column(0, 3, 15) + + +# Create a format for the column headings +header = workbook.add_format +header.set_bold +header.set_size(12) +header.set_color('blue') + + +# Create a format for the stock price +f_price = workbook.add_format +f_price.set_align('left') +f_price.set_num_format('$0.00') + + +# Create a format for the stock volume +f_volume = workbook.add_format +f_volume.set_align('left') +f_volume.set_num_format('#,##0') + + +# Create a format for the price change. This is an example of a conditional +# format. The number is formatted as a percentage. If it is positive it is +# formatted in green, if it is negative it is formatted in red and if it is +# zero it is formatted as the default font colour (in this case black). +# Note: the [Green] format produces an unappealing lime green. Try +# [Color 10] instead for a dark green. +# +f_change = workbook.add_format +f_change.set_align('left') +f_change.set_num_format('[Green]0.0%;[Red]-0.0%;0.0%') + + +# Write out the data +worksheet.write(0, 0, 'Company', header) +worksheet.write(0, 1, 'Price', header) +worksheet.write(0, 2, 'Volume', header) +worksheet.write(0, 3, 'Change', header) + +worksheet.write(1, 0, 'Damage Inc.' ) +worksheet.write(1, 1, 30.25, f_price) # $30.25 +worksheet.write(1, 2, 1234567, f_volume) # 1,234,567 +worksheet.write(1, 3, 0.085, f_change) # 8.5% in green + +worksheet.write(2, 0, 'Dump Corp.' ) +worksheet.write(2, 1, 1.56, f_price) # $1.56 +worksheet.write(2, 2, 7564, f_volume) # 7,564 +worksheet.write(2, 3, -0.015, f_change) # -1.5% in red + +worksheet.write(3, 0, 'Rev Ltd.' ) +worksheet.write(3, 1, 0.13, f_price) # $0.13 +worksheet.write(3, 2, 321, f_volume) # 321 +worksheet.write(3, 3, 0, f_change) # 0 in the font color (black) + + +workbook.close