#!/usr/bin/env python
# This example script was ported from Perl Spreadsheet::WriteExcel module.
# The author of the Spreadsheet::WriteExcel module is John McNamara
# <jmcnamara@cpan.org>
__revision__ = """$Id: stocks.py,v 1.3 2004/01/31 18:56:07 fufff Exp $"""
###############################################################################
#
# 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('(c)'), March 2001, John McNamara, jmcnamara@cpan.org
#
import pyXLWriter as xl
# Create a new workbook and add a worksheet
workbook = xl.Writer("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()
|