[Python-de] XLS files mit python effektiv erzeugen

Christopher Arndt chris.arndt at web.de
Thu Feb 13 20:43:27 EST 2003


So,

leider habe ich wohl wirklich nur ein wenig im interaktiven
Modus rumprobiert und keine Skripte gespeichert. Deswegen hier nur ein
einfaches Minimalbeispiel. Die unzähligen weiteren Möglichkeiten kann man
der umfangreichen Dokumentation von 'Spreadsheet::WriteExcel' entnehmen.

Ich hänge auch die durch das Beispielskript erzeugte XLS Datei an.

Zur Performanz:

Auf meinen 350 Mhz Pentium II unter Linux mit Python 2.1:

[chris at gate chris]$ time python test_create_xls.py
1.32user 0.08system 0:01.40elapsed 100%CPU (0avgtext+0avgdata
0maxresident)k
0inputs+0outputs (621major+1272minor)pagefaults 0swaps


On Thu, 13 Feb 2003, Dirk Lannatewitz wrote:

> Hallo Christopher,
> es wäre nett, wenn Du sie allgemein an die Liste schickst,
> denn auch wenn Sie der größte Teil von uns im Moment nicht braucht,
> kann sicher kaum jemand 100%ig sagen, ich brauche sie auch nächste Woche
> nicht.
> Wenn man sie braucht, geht dann die Sucherei los.
>
> Tschau und danke
> Dirk
>
> > -----Ursprüngliche Nachricht-----
> > Von: python-de-admin at python.net [mailto:python-de-admin at python.net]Im
> > Auftrag von Christopher Arndt
> > Gesendet: Donnerstag, 13. Februar 2003 14:41
> > An: python-de at python.net
> > Betreff: Re: [Python-de] XLS files mit python effektiv erzeugen
> >
> >
> > Hi zurück.
> >
> > es gibt eine Perl-Modulnamens 'Spreadsheet::WriteExcel' mit dem man sehr
> > gut XLS Dateien erzeugen kann. Einfach auf CPAN danach suchen.
> >
> > Dieses kann man dann mit Python mittels 'pyperl'
> > (<http://www.python.org/cgi-bin/moinmoin/PyPerl>) nutzen.
> >
> > Ich habe das vor einigen Monaten mal testweise ausprobiert und es hat
> > wunderbar funktioniert. Leider habe ich meine Beispielskripte hier auf
> > der Arbeit nicht zur Hand. Bei Interesse kann ich sie aber gerne heute
> > abend zuschicken.
> >
> > Josef Cihal wrote:
> > > Hi,
> > >
> > > ist es möglich mit dem Python XLS-files (Excel files) erzeugen
> > > ohne den ExcelApplication Client zu öffnen und über win32com.client
> > > XLS generieren?
> > >
> > > Es geht mir um eine performante Lösung...
> > >
> > > Lösung über...
> > > xlApp = win32com.client.Dispatch('Excel.Application')
> > > ist nicht performant.
> > >
> > > (Vorausetzungen: Oracle 8.6.1 DB Anbindung, File System Zugriff)
> > >
> > > Vielen Dank für jede Idee
> > >
> > > josef cihal
> > >
> > >
> > > _______________________________________________
> > > Python-de maillist  -  Python-de at starship.python.net
> > > http://starship.python.net/mailman/listinfo/python-de
> >
> >
> >
> > _______________________________________________
> > Python-de maillist  -  Python-de at starship.python.net
> > http://starship.python.net/mailman/listinfo/python-de
>
>
> _______________________________________________
> Python-de maillist  -  Python-de at starship.python.net
> http://starship.python.net/mailman/listinfo/python-de
>

-- 
Depend on the rabbit's foot if you will, but remember, it didn't help
the rabbit.
                -- R.E. Shay

Christopher Arndt  [t] +49 (0)177-3072812
linux consulting   [w] www.chrisarndt.de
& edv training     [e] chris.arndt at web.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test.xls
Type: application/octet-stream
Size: 5632 bytes
Desc: 
Url : http://starship.python.net/pipermail/python-de/attachments/20030213/48dc2e35/test.obj
-------------- next part --------------
#!/usr/bin/env python

# pyperl importieren
from perlmod import Perl

# Perl Module importieren und ein 'workbook' Objekt (Arbeitsmappe) erzeugen
wb = Perl.Spreadsheet.WriteExcel('test.xls')

# ein Tabellenblatt einfügen
ws = wb.addworksheet('Meine Tabelle')

# Daten in Zellen einfügen
# Erstes Argument: Zeile
# Zweites Argument: Spalte
# Drittes Argument: Wert
ws.write(0, 0, 'And now for something completely different:')
ws.write(1, 0, 'spamm')
ws.write(1, 1, '3')
ws.write(2, 0, 'eggs')
ws.write(2, 1, '42')
ws.write(3, 0, 'foo')
ws.write(4, 0, 'bar')
ws.write(3, 1, 23)
ws.write(4, 1, 9)

# Arbeitsmappe schließen
wb.close()


More information about the Python-de mailing list