By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
457,865 Members | 1,365 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 457,865 IT Pros & Developers. It's quick & easy.

Excel module for Python

P: n/a
sam
Hi group,

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

Thanks
Sam
Jul 18 '05 #1
Share this Question
Share on Google+
10 Replies


P: n/a
sam wrote:
I m wondering which Excel module is good to be used by Python?


Just use Excel's COM interface.

See also this helpful page to improve future responses:
http://www.catb.org/~esr/faqs/smart-questions.html

-Peter
Jul 18 '05 #2

P: n/a
On Wed, 12 Jan 2005 15:18:09 +0800, sam <sa*****@authtec.com> wrote:
I m wondering which Excel module is good to be used by Python?


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.

--
Cheers,
Simon B,
si***@brunningonline.net,
http://www.brunningonline.net/simon/blog/

[1] http://starship.python.net/crew/mhammond/
[2] http://www.oreilly.com/catalog/pytho...pter/ch12.html
[3] http://msdn.microsoft.com/library/en...celObjects.asp
Jul 18 '05 #3

P: n/a
sam
Simon Brunning wrote:
On Wed, 12 Jan 2005 15:18:09 +0800, sam <sa*****@authtec.com> wrote:
I m wondering which Excel module is good to be used by Python?

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.


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

thanks
Sam
Jul 18 '05 #4

P: n/a
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.

Jul 18 '05 #5

P: n/a
sam wrote:
On Wed, 12 Jan 2005 15:18:09 +0800, sam <sa*****@authtec.com> wrote:
I m wondering which Excel module is good to be used by Python?
[snip] No, I don't use MS windows. I need to generate Excel file by printing
data to it, just like Perl module Spreadsheet::WriteExcel.


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

-Peter
Jul 18 '05 #6

P: n/a
On Wed, 12 Jan 2005 23:19:44 +0800, sam <sa*****@authtec.com> wrote:

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


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
happily.

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.

--
Cheers,
Simon B,
si***@brunningonline.net,
http://www.brunningonline.net/simon/blog/
Jul 18 '05 #7

P: n/a
sam wrote:
Simon Brunning wrote:
On Wed, 12 Jan 2005 15:18:09 +0800, sam <sa*****@authtec.com> wrote:
I m wondering which Excel module is good to be used by Python?


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.


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

thanks
Sam


Hello,

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
guess!).

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

Cheers,

Neil

Jul 18 '05 #8

P: n/a
Simon Brunning <si************@gmail.com> writes:
On Wed, 12 Jan 2005 23:19:44 +0800, sam <sa*****@authtec.com> wrote:

No, I don't use MS windows. I need to generate Excel file by printing
data to it, just like Perl module Spreadsheet::WriteExcel.
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.


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.

--
================================================== =============
<er**********@andreasen.org> Herlev, Denmark
<URL:http://www.andreasen.org/> <*>
================================================== =============

Jul 18 '05 #9

P: n/a
Hi,

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

http://pyxlwriter.sourceforge.net/

"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. ;-)

Cheers
Stefan

On 16.01.2005, at 22:19, Erwin S. Andreasen wrote:
Simon Brunning <si************@gmail.com> writes:
On Wed, 12 Jan 2005 23:19:44 +0800, sam <sa*****@authtec.com> wrote:

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

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.


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.


Jul 18 '05 #10

P: n/a
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.

Cheers,

Jean-Paul

Jul 18 '05 #11

This discussion thread is closed

Replies have been disabled for this discussion.