[Python] Il modo migliore per generare file Microsoft Word

Luca Mearelli luca.mearelli a gmail.com
Ven 30 Mar 2007 14:27:32 CEST


Y3s wrote:
> RTF permette le tabelle, se poi vuoi proprio un file word IMHO il  modo 
> pių semplice č usare COM, in giro ci sono decine di esempi su  come 
> pilotare word tramite com. 

Confermo la semplicita di integrazione con COM via pywin32,a me pare 
quasi *piu* semplice usare Word da Python che da VB. Un esempio preso 
online:

----
# This line imports the Win32COM Client-side classes.
import win32com.client

# This line actually creates a Word object in memory. You should be
# able to see winword.exe in Taskmanager at this point.
word = win32com.client.Dispatch("Word.Application")

# Word is started in the background. This line brings makes its main
# (empty) window visible.
word.visible = 1

# This instruction creates a new Word document ! Yes, it *is* that easy.
doc = word.Documents.Add()

# This function writes an initial text to the document.
doc.Range().Text = "Hello, world"
----

> In ogni caso, a meno che non ti servano necessariamente delle  
> caratteristiche dei file di word, puoi usare formati pių aperti come  
> appunto RTF o HTML, tutti importabili tranquillamente in Word e in  
> altri WP_______________________________________________

Altra possibilita e' generare il formato doc XML che e' disponibile 
nelle versioni piu recenti di office (mi pare dalla XP del 2002 in poi).
Hai a disposizione *tutte* le feature del formato binario, ma e' un xml 
quindi puoi generarlo facilmente in python. Io l'ho fatto (in ruby) per 
excel, il formato e' complesso, ma non ci sono grosse difficolta' (al 
limite puoi salvare il tuo documento come doc xml e aprirlo connun 
texteditor...)

vedi ad esempio: http://www.simonstl.com/articles/officeXML/

ciao,
Luca

-- 

Web:   http://spazidigitali.com - http://thetyper.com
Email mailto://luca.mearelli@gmail.com
Skype callto://l.mearelli
--



Maggiori informazioni sulla lista Python