Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Un tableur en python / Tkinter ?

634 views
Skip to first unread message

Olivier Ravard

unread,
Dec 3, 2002, 8:29:23 AM12/3/02
to
Bonjour à tous,

Dans le cadre du développement d'une application spécifique, en
python Tkinter, j'avais besoin d'intégrer un tableur. Mes contraintes
étaitent de pouvoir instancier le tableur dans un toplevel ou dans
une frame quelconque, d'avoir toutes les fonctionnalités d'un tableur
classique, de pouvoir tracer des courbes avec tout ou partie des données
et de disposer de routines interfaces pour insérer ou extraire des données
du tableur. Le tout développé avec Tkinter et un "look" totalement
redéfinissable.

J'ai regardé du côté des outils disponibles. J'en ai trouvé plusieurs
(notamment développé avec WxPython) mais aucun ne répondait à toutes les
contraintes fixées.

J'ai donc décidé de développé cet outil : mon choix s'est orienté vers
l'utilisation de Tktable et de wrapper les fonctions pour python en y
ajoutant les fonctionnalités de calcul.
Il y a une première version qui fonctionne pas mal.

Je suis en train de me poser la question de la pertinence de mettre ce
code à disposition de la communauté libre (via sourceforge par exemple).

Avant que je ne fasses l'opération, je souhaiterais savoir si ce type de
code intéresserait du monde... J'attends vos remarques et vos avis.

Merci à tous.

O.R.


Rémi

unread,
Dec 3, 2002, 3:15:26 PM12/3/02
to

"Olivier Ravard" <rav...@univ-rennes1.fr> a écrit dans le message de news:
asic0t$71o$1...@news.univ-rennes1.fr...
Pourquoi ne pas utiliser excel directement par DCOM, les possibilités
sont alors presque infinie, exemple :

import win32com.client
excel = win32com.client.Dispatch('Excel.Application')
excel.Visible = 1
excel.Workbooks.Add()
line =
['one','two','three','four','five','six','seven','height','nine','ten']
column = ['','x','x^2','x^3','x^4']


for i in range(len(column)):
excel.ActiveSheet.Cells(i+1).Value = column[i]

# Ajoute de donnees dans les celulles
for i in range (len(line)):
j = i+2
excel.ActiveSheet.Cells(j,1).Value = line[i]
excel.ActiveSheet.Cells(j,2).Value = i
excel.ActiveSheet.Cells(j,3).Value = "=B%d+B%d" % (j,j)
excel.ActiveSheet.Cells(j,4).Value = "=B%d+B%d+B%d" % (j,j,j)
excel.ActiveSheet.Cells(j,5).Value = "=B%d+B%d+B%d+B%d" % (j,j,j,j)

# Selection des cellules
excel.Range("A1:D9").Select()

#excel.Range("A1").Select()
#excel.ActiveCell.FormulaR1C1 = "one"

# Ajoute un graphique
excel.Charts.Add()

# Cree un camenbert
xlLineMarkers = 65
xlPieExploded = 69
excel.ActiveChart.ChartType = xlLineMarkers

# Cree un titre
excel.ActiveChart.HasTitle = 1
excel.ActiveChart.ChartTitle.Characters.Text = "MonTitre"

# Ajoute le pourcentage est les labels sur les parts du camenbert
#excel.ActiveChart.ApplyDataLabels (5)

Emmanuel Florac

unread,
Dec 3, 2002, 4:40:57 PM12/3/02
to
Dans l'article <3ded10fd$0$20681$626a...@news.free.fr>,
AntiSpam.r...@yahoo.fr disait...

> Pourquoi ne pas utiliser excel directement par DCOM, les possibilités
> sont alors presque infinie, exemple :
>

Ouais, et puis super-portable, avec ça.... Pfff...
Pourquoi tu ne veux pas utiliser wxWindows? C'est ouvert, bien plus joli
et puissant que Tk...

--
Quis, quid, ubi, quibus auxiliis, cur, quomodo, quando?

William

unread,
Dec 4, 2002, 4:30:55 AM12/4/02
to
"Rémi" <AntiSpam.r...@yahoo.fr> writes:

est-ce que, dans la même série tu saurais mettre explorer (ou encore
mieux, mozilla) dans une fenetre indep et lancer une url ?
pour l'instant je fait system("start http://...") mais j'aimerai bien
qu'il n'y ai plus les menus et autres.

--
William Dodé - http://flibuste.net

laotseu

unread,
Dec 4, 2002, 3:34:41 PM12/4/02
to
Rémi wrote:
> "Olivier Ravard" <rav...@univ-rennes1.fr> a écrit dans le message de news:
> asic0t$71o$1...@news.univ-rennes1.fr...
>
>>Bonjour à tous,
>>
>>Dans le cadre du développement d'une application spécifique, en
>>python Tkinter, j'avais besoin d'intégrer un tableur.

[snip]

>>J'ai donc décidé de développé cet outil : mon choix s'est orienté vers
>>l'utilisation de Tktable et de wrapper les fonctions pour python en y
>>ajoutant les fonctionnalités de calcul.
>>Il y a une première version qui fonctionne pas mal.
>>
>>Je suis en train de me poser la question de la pertinence de mettre ce
>>code à disposition de la communauté libre (via sourceforge par exemple).

[SNIP]

>
> Pourquoi ne pas utiliser excel

c'est quoi excel ???

[laotseu@localhost laotseu]$ excel
bash: excel: command not found
[laotseu@localhost laotseu]$ which excel
which: no excel in
(/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games:...
/home/laotseu/bin:/usr/X11R6/bin:/usr/games:/usr/X11R6/bin:/usr/games)


> directement par DCOM,
C'est quoi, DCOM ???

> les possibilités
> sont alors presque infinie, exemple :
>
> import win32com.client

C'est quoi, win32com ?

[laotseu@localhost laotseu]$ python
Python 2.2 (#1, Nov 16 2002, 14:50:29)
[GCC 2.96 20000731 (Linux-Mandrake 8.0 2.96-0.48mdk)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import win32com.client
Traceback (most recent call last):
File "<stdin>", line 1, in ?
ImportError: No module named win32

[snip]


Merci pour ces tuyaux et exemples de code, certainement très utiles sous
Windows. Mais bon, comme tu peux le voire, il y a de bonne raison de ne
pas utiliser Excel !-)

Laotseu

laotseu

unread,
Dec 4, 2002, 3:37:18 PM12/4/02
to

Je ne vois pas de raisons que ça n'intéresse pas un certain nombre de
développeurs ! Si tout ce qui t'arrête concerne "l'opportunité" de
rendre ce code open source, ne te pose pas de questions et fait le (et
soit en remercié !-)

Laotseu

Rémi

unread,
Dec 4, 2002, 1:04:54 PM12/4/02
to

> Merci pour ces tuyaux et exemples de code, certainement très utiles sous
> Windows. Mais bon, comme tu peux le voire, il y a de bonne raison de ne
> pas utiliser Excel !-)
>
> Laotseu
>
Effectivement si tu es avec le Pingouin, t'as ni DCOM ni excel, mais bon je
n'étais pas censé le savoir ... Désolé. ;-)


Olivier Ravard

unread,
Dec 4, 2002, 2:36:19 PM12/4/02
to
Rémi wrote:

Effectivement j'avais oublié de préciser que l'un des objectifs était
d'avoir une solution portable sous windows et Linux.

Autrement, DCOM + EXCEL aurait été une bonne solution...

O.R.

laotseu

unread,
Dec 4, 2002, 9:28:53 PM12/4/02
to
Rémi wrote:
>>Merci pour ces tuyaux et exemples de code, certainement très utiles sous
>>Windows. Mais bon, comme tu peux le voire, il y a de bonne raison de ne
>>pas utiliser Excel !-)
>>
>>Laotseu
>>
>
> Effectivement si tu es avec le Pingouin, t'as ni DCOM ni excel,

Bin non.

> mais bon je
> n'étais pas censé le savoir ...

Bin si.

Une des forces de Python est sa portabilité. Faut pas raisonner MS only.

Ceci étant, je pourrais très bien être sous Windows *et* ne *pas* avoir
Excel... Ou ne pas avoir envie de forcer mes clients à payer une licence
Excel, etc...


> Désolé. ;-)
>
Ca ira pour cette fois, mais qu'on ne t'y reprenne plus !-)

Laotseu

Rémi

unread,
Dec 5, 2002, 1:23:01 PM12/5/02
to

"laotseu" <bde...@nospam.free.fr> a écrit dans le message de news:
3DEEB9E5...@nospam.free.fr...

> Rémi wrote:
> >>Merci pour ces tuyaux et exemples de code, certainement très utiles sous
> >>Windows. Mais bon, comme tu peux le voire, il y a de bonne raison de ne
> >>pas utiliser Excel !-)
> >>
> >>Laotseu
> >>
> >
> > Effectivement si tu es avec le Pingouin, t'as ni DCOM ni excel,
>
> Bin non.
>
> > mais bon je
> > n'étais pas censé le savoir ...
>
> Bin si.
>
> Une des forces de Python est sa portabilité. Faut pas raisonner MS only.
>
> Ceci étant, je pourrais très bien être sous Windows *et* ne *pas* avoir
> Excel... Ou ne pas avoir envie de forcer mes clients à payer une licence
> Excel, etc...
>

Euh t'en trouve beaucoup des clients professionels qui n'ont ni Excel ni
Word ?.
T'en trouve beaucoup des clients qui bossent exclusivement sous le Pingouin
?.

L'avantage de DCOM, ici, c'est de ne pas redévelopper une enième fois
ce qui existe déjà.
L'inconvénient c'est que DCOM est forcément lié à Windows.

Enfin j'attends toujours de voir le pilotage d'OpenOffice de manière
similaire sous linux,
et c'est pas pour demain...

Je tiens quand même à préciser que je ne suis pas un fan de Microchiote ou
windobe.
Il y a un an j'ai essayé le Pingouin (redhat 6.2) depuis je l'ai désinstallé
parce qu'il ne me
servait à rien. Pour moi un Os c'est quand même fait à la base pour se faire
oublier et
pour faire tourner des logiciels, pas pour se prendre la tête dans du
paramêtrage
d'imprimante, de carte graphique, de carte son ou de modem...
Le jour où linux aura autant de logiciels, jeux, utilitaires que Windobe, et
qu'il se paramêtrera sans s'arracher les cheveux, ce jour là je quitterai
Windobe
sans aucun regret (bin voui j'en ai marre moi aussi d'engresser Bilou, mais
je n'ai
malheureusement pas vraiment encore d'alternative)...

laotseu

unread,
Dec 5, 2002, 8:47:48 PM12/5/02
to
Rémi wrote:
> "laotseu" <bde...@nospam.free.fr> a écrit dans le message de news:
> 3DEEB9E5...@nospam.free.fr...
>
>>Rémi wrote:
>>
>>>>Merci pour ces tuyaux et exemples de code, certainement très utiles sous
>>>>Windows. Mais bon, comme tu peux le voire, il y a de bonne raison de ne
>>>>pas utiliser Excel !-)
>>>>
>>>>Laotseu
>>>>
>>>
>>>Effectivement si tu es avec le Pingouin, t'as ni DCOM ni excel,
>>
>>Bin non.
>>
>>
>>>mais bon je
>>>n'étais pas censé le savoir ...
>>
>>Bin si.
>>
>>Une des forces de Python est sa portabilité. Faut pas raisonner MS only.
>>
>>Ceci étant, je pourrais très bien être sous Windows *et* ne *pas* avoir
>>Excel... Ou ne pas avoir envie de forcer mes clients à payer une licence
>>Excel, etc...
>>
>
>
> Euh t'en trouve beaucoup des clients professionels qui n'ont ni Excel ni
> Word ?.

Oui, pourquoi ? Des petits artisans, vitis, etc, qui utilisent Works au
lieu de la suite Office, par exemple...

> T'en trouve beaucoup des clients qui bossent exclusivement sous le Pingouin
> ?.

Actuellement, non, mais le fait d'avoir des solutions qui le permettent
permettrai peut-être d'en accroître le nombre ?-)


> L'avantage de DCOM, ici, c'est de ne pas redévelopper une enième fois
> ce qui existe déjà.
> L'inconvénient c'est que DCOM est forcément lié à Windows.
>

Oui, alors qu'il existe d'autres solutions pour faire du composant
logiciel... Corba par exemple et au hasard

> Enfin j'attends toujours de voir le pilotage d'OpenOffice de manière
> similaire sous linux,
> et c'est pas pour demain...

En effet, même si le but premier de Gnome est d'obtenir quelque chose de
similaire, mais libre et portable.

> Je tiens quand même à préciser que je ne suis pas un fan de Microchiote ou
> windobe.

Pas la peine d'être grossier avec mon gagne-pain !-)

> Il y a un an j'ai essayé le Pingouin (redhat 6.2) depuis je l'ai désinstallé
> parce qu'il ne me
> servait à rien. Pour moi un Os c'est quand même fait à la base pour se faire
> oublier et
> pour faire tourner des logiciels, pas pour se prendre la tête dans du
> paramêtrage
> d'imprimante, de carte graphique, de carte son ou de modem...

Il y a bientôt deux ans, j'ai installé une mandrake (7.2, je crois) sur
le giga et demi qui trainait sur mon vieux p133. Aucun problème de
paramétrage (tout a été immédiatement reconnu). Effectivement, il m'a
fallu quelques mois pour apprendre à utiliser l'OS et les utilitaires
'standard' les plus courants. Je ne regrette en rien cet investissement.
Moi qui, venant du Mac, avait toujourts été allergique aux lignes de
commande (ne connaissant que celles du DOS), j'en suis maintenant un
défenseur convaincu...

Depuis, j'ai racheté une machine digne de ce nom, et ho surprise, il n'y
a pas de partition Windows dessus.

> Le jour où linux aura autant de logiciels, jeux, utilitaires que Windobe,

Honnêtement, à part peut être les jeux (mais je m'en ..., je n'ai jamais
été interessé par ça) ou des applis *très* spécifiques, je ne vois pas
ce qui manque. Au contraire, j'ai plus que souvent l'embarras du choix
entre plusieurs solutions de fort bonne qualités.

> et
> qu'il se paramêtrera sans s'arracher les cheveux,

Je suis *très* loin d'être un pro de l'instal ou du paramétrage de
Linux, mais *honnêtement*, je n'ai jamais eu aucun problème à faire
tourner le tout.

par contre, quand je vois les pb que rencontrent les administrateurs NT,
je me dis qu'ils se feraient moins c... sous *n*x.

> ce jour là je quitterai Windobe sans aucun regret
>(bin voui j'en ai marre moi aussi d'engresser Bilou, mais
> je n'ai
> malheureusement pas vraiment encore d'alternative)...

Pardon ?
Dis moi, tu est programmeur, non ?
Ah, oui, bien sûr, ça demande plus d'investissement...

Bin, à toi de savoir ce que tu veux vraiment. Mais cracher sur Microsoft
quand on l'utilise de préférence aux alternatives existantes (nb : il y
a d'autres OS que Windows et Linux), excuse moi, mais ça fait pas sérieux...


Amicalement (malgré les apparences - désolé, j'ai jamais été doué pour
la diplomatie !-)

Laotseu

Rémi

unread,
Dec 5, 2002, 3:21:27 PM12/5/02
to

"laotseu" <bde...@nospam.free.fr> a écrit dans le message de news:
3DF001C4...@nospam.free.fr...

Bin c'est le mien aussi, NT toute la journée, enfin j'ai eu une
période professionnelle de deux ans sous Linux, mais je n'ai pas été
convaincu,
à l'époque de quitter définitivement Windows. Je pense
qu'il faudrait que je refasse un essai, mais quand même en gardant une
partition
avec Lilo on ne sait jamais...

Bin voui, je sais, mais bon, je ne désespère pas de me convertir au
Pingouin,
promis je referai un jour une chtite partition Linux.


>
> Amicalement (malgré les apparences - désolé, j'ai jamais été doué pour
> la diplomatie !-)
>
> Laotseu
>

Désolé, peut être que moi aussi j'ai manqué de diplomatie...
;-)


Michel Claveau

unread,
Dec 5, 2002, 6:14:46 PM12/5/02
to
Bonsoir !

Je suis -un peu- de l'avis de Rémi : Windows offre beaucoup d'outils, et,
grâce à (D)-COM, Active-X et autres Ole-automation, permet de ré-utiliser
beaucoup de choses.

Par exemple, mon outil principal est PARADOX. Grâce à Ole-automation & COM,
je génère directement des documents Word à partir de requêtes de bases de
données, pilote des tableaux Excel directement à partir des comptas ou des
payes, je récupère des données sur Internet, fait parler l'ordinateur
(Agent-MS) , etc. Et Word/Excel, on le trouve pratiquement partout (Word
est même fourni avec WORKS-suite).

Et, avec un mini-serveur COM écrit en Python, j'exécute des scripts Python
depuis mes applis.

Les possibilités d'intégration de Windows sont -vraiment- énormes. Et le peu
que j'ai vu de Linux ne m'a guère convaincu.

Le seul gros défaut de Windows, c'est M$ et BG, et leurs comportements
quasi-tyranniques.

Mais Linux a pour mérite d'avoir forcé M$ à faire évoluer Windows. Le virage
amorcé avec W2K, légèrement continué avec XP va s'accentuer avec LongHorn,
qui sera, peut-être, le premier OS avec XML natif (et non rapporté) ; à
moins que W.Net-server, prévu pour mars, prenne les devants...

@-salutations

Michel Claveau


Emmanuel Florac

unread,
Dec 5, 2002, 5:17:05 PM12/5/02
to
Dans l'article <3def998a$0$11840$626a...@news.free.fr>,
AntiSpam.r...@yahoo.fr disait...

>
> Euh t'en trouve beaucoup des clients professionels qui n'ont ni Excel ni
> Word ?.

Moi?

> T'en trouve beaucoup des clients qui bossent exclusivement sous le Pingouin
> ?.
>

Moi?

> L'avantage de DCOM, ici, c'est de ne pas redévelopper une enième fois
> ce qui existe déjà.
> L'inconvénient c'est que DCOM est forcément lié à Windows.
>

Même pas. Il y a des protages de DCOM sous Unix que personne n'utilise.

> Enfin j'attends toujours de voir le pilotage d'OpenOffice de manière
> similaire sous linux,
> et c'est pas pour demain...
>

Et un gros troll baveux débile, un. On peut piloter OpenOffice très
facilement.

Michel Claveau

unread,
Dec 5, 2002, 6:26:57 PM12/5/02
to

>>>>> On peut piloter OpenOffice très facilement.

Je serais très intéressé par des infos à ce sujet. Mes essais de pilotage
d'OO se sont toujours révélés infructueux.

Aurais-tu des sources, des liens ? Le site sur les API d' OO n'étant pas
vraiment utilisable.

A+

Michel Claveau


Michel Claveau

unread,
Dec 8, 2002, 1:05:02 PM12/8/02
to
Bonsoir !

On dirait que l'enthousiasme est plus fort sur les NG anglais.

Je suis très intéressé... à condition que les commentaires/explications/etc.
soient en français (merci d'avance).

@-salutations

Michel Claveau


0 new messages