Write Excel files using Python XLWT

Source: Internet
Author: User
Tags string format

If you need to use Python to write Excel files, first download or install XLWT.

Pip Install XLWT

The following demos should help developers quickly get started writing Excel files using XLWT:

Create workbooks (workbook) and Worksheets (sheet):
import xlwtworkbook = xlwt.Workbook() sheet = workbook.add_sheet("Sheet Name") 
Write cell (cell):
sheet.write(0, 0, ‘foobar‘) # row, column, value
Apply a style to a cell (bold for example):
style = xlwt.easyxf(‘font: bold 1‘)sheet.write(0, 0, ‘foobar‘, style)
Set the column width:

To set the column width, you must set the Width property to 256*num_chars, where 256 equals 0 characters in width.

set width.. 256 = 1 width of 0 character
Apply multiple styles to a cell:

Note that each document style should be limited to 4k, which means that you should not initialize a style for each cell, but should reuse them (read the following to see a simple caching solution)

style = xlwt.easyxf(‘font: bold 1, color red;‘))sheet.write(0, 0, ‘foobar‘, style)
Apply Currency Style:

To set the currency, add the keyword parameter num_format_str to the EASYXF function, or set the property in the returned Style object.

set it directly on the style objectstyle = easyxf(‘font: bold 1‘)style.num_format_str = ‘$#,##0.00‘sheet.write(0, 0, ‘100.00‘, style)
Write Excel formula:

Use XLWT. Formula can be easily written in Excel formulas.

sheet.write(0, 0, xlwt.Formula(‘HYPERLINK("http://yujitomita.com"; "click me")‘))
Save:
workbook.save("foobar.xls") # done!
Using Traps (gotchas):

Here are some common solutions for using traps.

Prohibit overwriting of cells:

I actually like this feature very much-it prevents the cell from being overwritten, so I've encountered more than one scenario where the script failed to run. Then again, why do you want to overwrite the cell?

create the sheet with kwarg cell_overwrite_okworkbook.add_sheet(‘foobar‘, cell_overwrite_ok=True) 
Valid worksheets are named:
    • The sheet name must be less than 31 characters
    • The name should not contain special characters, such as ': ', '/' etc.
4k style limits per document:

If you know the rules, applying a cell style is a piece of cake.

Because the style content in the document cannot exceed 4k, I created a cache easyxf function that first attempts to pull an existing style from the cache before creating a new style.

class myclass (object):  Kwd_mark = Object ()  def cached_easyxf  if not hasattr (self,  ' _cached_easyxf '):    Self._cached_ EASYXF = {}  key = (string,) + (Self.kwd_mark,) + tuple (sorted (Kwargs.items ()) )   return self._cached_easyxf.setdefault (Key, XLWT.EASYXF (String, **kwargs))            
EASYXF string Format:

I did some small experiments to find out the common format.

For example, you receive a space-delimited string format for the key-value array.

' Key:key-value value, key-value value; Key2:key-value2 value2′

sheet.write(0, 0, xlwt.easyxf(‘font: bold 1‘)) # boldsheet.write(0, 0, xlwt.easyxf(‘font: bold 1, color: blue, underline single‘)) 

Foreign language Link: http://yuji.wordpress.com/2012/04/19/python-xlwt-writing-excel-files/

Write Excel files using Python XLWT

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.