[Excel-Export] Excel-Export aus Python

Du hast eine Idee für ein Projekt?
joerg
User
Beiträge: 188
Registriert: Samstag 17. August 2002, 17:48
Wohnort: Berlin
Kontaktdaten:

hans hat geschrieben:Nach anfänglichem Enthusiasmus scheint das ganze ja ein bisschen ins Stocken geraten zu sein. Habt Ihr die Lust verloren oder verliert Ihr euch in hunderten von Lösungsansätzen?
Naja, ich denke dass ich das ganze etwas aufgehalten habe, weil ich Codestücke versprochen habe, auf den jetzt andere warten. Bin leider noch nicht so weit, habe ziemlich viel um die Ohren. Meine ersten Versuche habe ich angefangen umzustrukturieren, und bin noch mittendrin aus Zeitmangel hängengeblieben.

Also marschiert mal ruhig ohne mich los, ich klinke mich wieder ein, wenn ich Zeit habe.

Sorry
Jörg
x-herbert

Hi bin noch etwas "wackelig" auf den Python-Füßen.... habe mich aber im bereich PHP mit dem Excel-Format beschäftigt.

Der zu erzeugende Binärstom ist für ein "0815"-Chart kein großer Akt - ich denke bei PHP bzw. Perl kann man sich eine Menge abgucken. Für PHP kann man aber inzwischen vollständige Tabellen mit Formeln usw. erstellen.

Unter
http://www.wotsit.org/search.asp?s=xls
sind etliche Beschreibungen dazu...

Wenn es weiter hilft, kenn ich meine "Unterlagen" mal zusammenkramen...

Gruss Ingolf
x-herbert
User
Beiträge: 59
Registriert: Mittwoch 27. November 2002, 20:52

Hi,

viel scheint hier ja nicht viel los zu sein...

Mir ist nicht ganz klar, wie ich in Python ein Binärfile packe - mit der Option open('exceltest.xls','wb') passiert eigentlich nicht viel.

Als kleinen Test wollte ich mal ein Excelfile schreiben
0x809, 0x8, 0x0, 0x10, 0x0, 0x0 ist der "BOF" - Start
0x0A, 0x00 ist der "EOF" - Ende

Python schreibt mir die Sachen immer als "normalen" String und nicht binär - weitere Formatierungen wie 16 oder 32bit, endian-angaben konnte ich nicht finden????

gruss x-herbert
x-herbert
User
Beiträge: 59
Registriert: Mittwoch 27. November 2002, 20:52

ah habe nochwas gefunden pack()

... muss erstmal lesen...

gruss x-herbert
x-herbert
User
Beiträge: 59
Registriert: Mittwoch 27. November 2002, 20:52

dirty hacking des BIFF-Formates:

Code: Alles auswählen

import struct, os, sys

pathname = os.path.dirname(sys.argv[0])	# akt. Verzeichnis des Scripts
os.chdir(pathname)                      # wechsle in Scriptverzeichnis

BOF = struct.pack("6h", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0) #Start
EOF = struct.pack("2h", 0x0A, 0x00)                      #Ende  
label = struct.pack("6h", 0x204, 12, 0, 0, 0x0, 4)       # = test
b = BOF+label+'test'+EOF

fio = open('exceltest.xls', 'wb')
fio.write(b)
fio.close()

print 'ready'
gruss x-herbert

... "man" könnte ja mal ein Modul schreiben...
Benutzeravatar
strogon14
User
Beiträge: 58
Registriert: Sonntag 23. Februar 2003, 19:34
Wohnort: Köln
Kontaktdaten:

Man kann sehr wohl Perl in Python einbinden:

http://www.python.org/cgi-bin/moinmoin/PyPerl

Damit kann man das Perl Module Spreadsheet::WriteExcel nutzen.

Wie das geht, habe ich vor ein paar Tagen in der deutschen Python Mailingliste beschrieben:

http://starship.python.net/pipermail/py ... 03096.html
Zuletzt geändert von strogon14 am Mittwoch 19. November 2003, 14:24, insgesamt 1-mal geändert.
robert1

Irgendwo stand es gibt eine OpenOffice alpha schnittstelle in python.
weiß jemand näheres?

wie schon erwähnt kann OpenOffice die gängigen Mircosoft Dateiformate lesen und als wohl definierte xml datei abstellen.
dies geht wohl auch unter sparc/sun mit einem "virtuellen xwindow"

wenn man nur mit dem microsoft-zeug macht kann man ab word2000/excel2000 als html abstellen und z.b. die tabellen dann mit re parsen.

Gruß robert
dirk
User
Beiträge: 1
Registriert: Samstag 9. August 2003, 05:46
Wohnort: Kiel

Hallo,

ich weiss nicht ob mit der alpha-schnitstelle in OpenOffice die Python-UNO Bridge gemeint. Damit kann die OpenOffice Standard-API genutzt werden. Näheres unter http://udk.openoffice.org/python/python-bridge.html.

Ich bin neu in Eurem Forum und finde Eure Beiträge total gut. Ich hoffe, dass sich dadurch Python auch hierzulande weiter verbreitet.

Gruß Dirk
:D
joerg
User
Beiträge: 188
Registriert: Samstag 17. August 2002, 17:48
Wohnort: Berlin
Kontaktdaten:

..schaut mal hier:

http://sourceforge.net/projects/pyxlwriter/

Das Perl-Paket, welches mich auf die Idee gebracht hatte, ist offensichtlich nach Python portiert worden. Ich schaue mir das demnächst mal genauer an.

Jörg
"Sie sind nicht berechtigt, unrechtmäßige Kopien dieses Datenträgers zu erstellen." - Microsoft-Weisheit auf einer CD von MS-VisualC++-6.0
Antworten