Seite 1 von 1

pyExcelerator: Formel

Verfasst: Mittwoch 4. Februar 2009, 21:09
von Twilo
Hallo,

ich möchte bzw. muss ein Exceldokument erstellen.

Wie kann bzw. muss ich eine Formel erstellen, die sich auf eine andere Tabelle bezieht.

Bei folgenden Beispiel erscheint in der Zelle F6 nur ein Gleichheitszeichen:

Code: Alles auswählen

cell = Utils.rowcol_to_cell(8, 2)
formula = Formula("Tabelle1.%s" % (cell))
self.worksheet_Tabelle2.write(5, 5, formula)
lasse ich "Tabelle1." weg, steht als Formel "=C9".

mfg
Twilo

Verfasst: Mittwoch 4. Februar 2009, 21:15
von hendrikS
Fuege doch bitte mal hinzu, welche Module Du hier importierst.

Das Thema wuerde mich auch interessieren. Danke.

Verfasst: Mittwoch 4. Februar 2009, 21:28
von Twilo
Hallo,

ich verwende pyExcelerator.

am Anfang des Python-Skripts wird das Modul wie folgt importiert:

Code: Alles auswählen

from pyExcelerator import *
Beispiele, wie man pyExcelerator sind im pyExcelerator-Archiv enthalten. Ich wollte hier jetzt nur den relevanten Code posten. :wink:

mfg
Twilo

Verfasst: Mittwoch 4. Februar 2009, 22:13
von BlackVivi
Twilo hat geschrieben:am Anfang des Python-Skripts wird das Modul wie folgt importiert:

Code: Alles auswählen

from pyExcelerator import *
Meh, Namensräume sind nix böses. Sie sind sogar schön!

Code: Alles auswählen

import pyExcelerator as excel
So hat man nicht viel Tipparbeit und man weiß immer, woher die Funktionen kommen.

Verfasst: Mittwoch 4. Februar 2009, 23:13
von Twilo
Hallo,

ich habe eine Lösung gefunden: Allow formulas to reference cells in other sheets

BlackVivi hat geschrieben:
Twilo hat geschrieben:am Anfang des Python-Skripts wird das Modul wie folgt importiert:

Code: Alles auswählen

from pyExcelerator import *
Meh, Namensräume sind nix böses. Sie sind sogar schön!

Code: Alles auswählen

import pyExcelerator as excel
So hat man nicht viel Tipparbeit und man weiß immer, woher die Funktionen kommen.
wie würde/müßte man das hier lösen?

Code: Alles auswählen

from pyExcelerator import Workbook, Worksheet, Formula, Utils, XFStyle
mfg
Twilo

Verfasst: Mittwoch 4. Februar 2009, 23:14
von BlackVivi
Twilo hat geschrieben:
BlackVivi hat geschrieben:
Twilo hat geschrieben:am Anfang des Python-Skripts wird das Modul wie folgt importiert:

Code: Alles auswählen

from pyExcelerator import *
/quote]Meh, Namensräume sind nix böses. Sie sind sogar schön!

Code: Alles auswählen

import pyExcelerator as excel
So hat man nicht viel Tipparbeit und man weiß immer, woher die Funktionen kommen.
wie würde/müßte man das hier lösen?

Code: Alles auswählen

from pyExcelerator import Workbook, Worksheet, Formula, Utils, XFStyle
Da ist es ja wiederum in Ordnung. Keine Namenskonflikte und man weiß eigentlich, was woher kommt... mit einem kleinen Blick auf den Kopf der Datei.

Verfasst: Mittwoch 4. Februar 2009, 23:34
von Twilo
Hallo,
BlackVivi hat geschrieben:[...] Keine Namenskonflikte und man weiß eigentlich, was woher kommt... mit einem kleinen Blick auf den Kopf der Datei.
Konflikte könnten aber auftreten, wenn auf diese Weise mehrere Module importieren werden, die genauso heißen

mfg
Twilo

Verfasst: Mittwoch 4. Februar 2009, 23:47
von DasIch
Twilo hat geschrieben:Konflikte könnten aber auftreten, wenn auf diese Weise mehrere Module importieren werden, die genauso heißen
Glücklicherweise sieht man dass ja sofort da die Importe alle an der selben Stelle stehen. Außerdem wäre da noch die Möglichkeit mit as.

Verfasst: Donnerstag 5. Februar 2009, 09:32
von CM
Hoi,

hatte vor langer Zeit mal ein Snippet zu pyExcelerator gepostet. Das enthält auch noch einige Beispiele.

Aber noch ein Nachtrag: Ich fand pyExcelerator ein tolles Tool, um unter Linux Excel-Dateien zu erzeugen - was, siehe obigen Post, manchmal ganz nützlich sein kann. Doch leider ist das Projekt tot. Es gibt keine Updates mehr und bei neueren Versionen von Excel (unter Vista) hatte ich auch schon Probleme mit so generierten Files. (Lösung ist war nur unter Excel-prä-Vista zu öffnen und zu speichern, erst dann ging es mit Vista. Offenbar hat MS Probleme mit der Rückwärtskompatibilität.)
Leider weiß ich keine aktuelle Alternative für pyExcelerator. Jemand von Euch?

HTH
Christian

Verfasst: Donnerstag 5. Februar 2009, 09:53
von Twilo
Hallo,

es gibt ein Fork pyexcel von pyExcelerator; der sieht jedoch auch wieder ziemlich tot aus :?

mfg
Twilo

Verfasst: Donnerstag 5. Februar 2009, 10:16
von HerrHagen
Wo wir grade bei Forks sind... Es gibt noch xlwt
Ich weiß allerdings nicht welches besser ist...

Verfasst: Donnerstag 5. Februar 2009, 10:40
von CM
Hilft wohl nur ausprobieren ...

Aber Danke für die Links, wobei beide ziemlich ähnlich pyExcelerator aussehen (na ja, kein Wunder) und beide ggf. Updates vertragen könnten, denn beide zeigen nicht an, auch mit Vista umgehen zu können.

Christian

Verfasst: Donnerstag 5. Februar 2009, 13:11
von cofi
Ich hatte mir mal den Quelltext von pyExcelerator angeschaut ... ehrlich gesagt wundert es mich wenig, dass das a) gestorben ist und b) die Forks auch nicht mehr wollen ;)

Verfasst: Freitag 6. Februar 2009, 08:41
von CM
Hm, in der Tat ... doch wer hat schon Lust was Neues auf die Beine zu stellen angesichts bestehender Anbindungen für OO? *seufz*