Excel module for Python

Discussion in 'Python' started by sam, Jan 12, 2005.

  1. sam

    sam Guest

    Hi group,

    I m wondering which Excel module is good to be used by Python?

    sam, Jan 12, 2005
    1. Advertisements

  2. sam

    Peter Hansen Guest

    Peter Hansen, Jan 12, 2005
    1. Advertisements

  3. If you are on Windows, and you have Excel, then the Python for Windows
    extensions[1] are all you need to drive Excel via COM. O'Reilly's
    "Python Programming on Win32" covers COM scripting extensively - and
    by good fortune, driving Excel is the example they use, and the COM
    scripting chapter is on-line[2].

    You'll also need to know the objects and methods that Excel exposes.
    These are documented on Microsoft's web site[3], or in the Excel VBA
    help, which is an optional part of they Office installation.

    Simon B,

    [1] http://starship.python.net/crew/mhammond/
    [2] http://www.oreilly.com/catalog/pythonwin32/chapter/ch12.html
    [3] http://msdn.microsoft.com/library/en-us/modcore/html/deovrWorkingWithMicrosoftExcelObjects.asp
    Simon Brunning, Jan 12, 2005
  4. sam

    sam Guest

    No, I don't use MS windows. I need to generate Excel file by printing
    data to it, just like Perl module Spreadsheet::WriteExcel.

    sam, Jan 12, 2005
  5. sam

    sp1d3rx Guest

    that's easy. Just make an html file of your data, using tables and save
    it as a "*.xls" and excel will think it's an excel file.
    sp1d3rx, Jan 12, 2005
  6. sam

    Peter Hansen Guest

    Excel can read CSV files, so just use the standard Python module "csv"
    and write your files that way.

    Peter Hansen, Jan 12, 2005
  7. If it's just data that needs to go into your spreadsheet, then I'd
    just build a CSV file if I were you. Excel opens them perfectly

    If you need to write out formulae, formratting, that kind of thing,
    then I think you'll need to write a 'real' Excel file. I don't have a
    clue how to do that - sorry.
    Simon Brunning, Jan 12, 2005
  8. sam

    Neil Benn Guest


    If you can use jython then there is something that does this
    in java - it's called POI (search for POI HSSF Excel) in google. If you
    can't use jython and are desperate then you could set up a
    WebService/cgi/<insert your favourite cross language client/server
    architecture> and send the information back and forth. I spose you can
    do this with perl as well (don't know any perl so this bit is only a

    However the last time I looked (about a year ago) POI does have
    limitations with excel graphs.


    Neil Benn, Jan 12, 2005
  9. There's actually an ancient open spreadsheet format called SYLK which
    is a step above CSV: it allows formatting of data, formulas etc.

    Google for SYLK to get the rather sparse specification (and skip over
    the first few links!)

    If you want to generate "real" Office files from UNIX, another
    alternative is to automate OpenOffice (which has a COM-like interface
    too) or generate OO XML files and feed them to OO asking to conver
    them with a bit of OO macro magic.
    Erwin S. Andreasen, Jan 16, 2005
  10. Hi,

    I didn't catch older mails in this thread, so excuse me if this has
    already been pointed out:


    "It's a port of John McNamara's Perl Spreadsheet::WriteExcel module"
    and it's really easy to use.
    I'm not sure if it does formulae, but it handles formatting fine.

    Putting together a file with complicated layout can be a lot of work,
    so for large prebuilt files (which I sometimes have to "fill in"
    programmatically), I just use COM with Excel. You'll have to run on
    Windows for that, of course. ;-)

    Stefan Eischet, Jan 17, 2005
  11. sam

    jean-paul Guest

    I generate a lot pseudo excel file. Just write row by row on file and
    separate every cell of a row by a tab and put an .xls extension on the
    file name. When you double click. It opens directly EXCEL and you have
    directly the column and the row. It is easier than the CSV or SYLK
    files. If you want to format it automatically you can either define a
    VBA macro or use python com.


    jean-paul, Jan 18, 2005
  12. sam


    Mar 20, 2011
    Likes Received:
    I have recently written an module that can be used in Excel or Gnumeric (and eventually Open Office) that allows interfacing to Excel documents as if they were a native data type. Check it out here:
    cloudform511, Mar 20, 2011
  13. sam


    Aug 9, 2011
    Likes Received:
    use xlrd and xlwt modules

    use xlrd or xlwt modules for playing around with MS excel in python
    pankaj.nitc, Aug 9, 2011
  14. sam


    Aug 9, 2011
    Likes Received:
    use xlrd or xlwt modules for playing around with MS excel in python
    pankaj.nitc, Aug 9, 2011
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Similar Threads
There are no similar threads yet.