Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Python - Sempre python + excel ma ora dubbio diverso
Forum - Python - Sempre python + excel ma ora dubbio diverso

Avatar
marKo (Normal User)
Newbie


Messaggi: 4
Iscritto: 26/10/2006

Segnala al moderatore
Postato alle 13:59
Martedì, 14/11/2006
Ciao a tutti.
io ho un mio programma cgi che gira su apache.
Mi concentro su questa parte che da problemi tralasciando le altre che funzionano :
in una certa pagina ipotetica "PIPPO.CGI" dopo aver premuto un bottone faccio eseguire un frammento di codice in cui popolo un foglio di
stile excel e lo apro.

PUBBLICO il CODICE cosi spero di poter essere piu chiaro :

#inizializzazioni varie che tralascio


#mi connetto al mio db mysql e recupero i dati che volgio inserire nel file excel
conn = MySQLdb.connect(host = "XXX", port = XXX, user = "XXX", passwd = "XXX", db= "XXX")
cursor = conn.cursor()
cursor.execute("SELECT * FROM XXX")
allFields = cursor.description
allRecords = cursor.fetchall()
cursor.close()
conn.close()

#inizializzo gli strumenti per lavorare in python con excel
xlApp = Dispatch("Excel.Application")
xlApp.Workbooks.Add()

#specifico che file utilizzare
xlbook = xlApp.Workbooks.Open('C:/view.xls')
i = 1
j = 1

#popolo il mio file excel
for field in allFields :
   xlApp.ActiveSheet.Cells(i, j).Value = field[0]
   j = j + 1
for records in allRecords :
    i = i + 1
    j = 1
    for item in records :
      xlApp.ActiveSheet.Cells(i, j).Value = item
      j = j + 1
#salvo le modifiche effettuate
xlbook.SaveAs('C:/view.xls')

#scrivo le istruzioni che mi permettereanno di aprirlo in una pagina html
size = os.path.getsize('C:/view.xls')
of = open("C:/view.xls","rb")
content = of.read()
of.close()

print"Content-Type:application7vnd.ms-excel"
print"contentdisposition:inline;filename=view.xls"print"Content-length:%d \r\n"%size
print content

Tale codice se lo faccio eseguire non mi da errori bensi il broswer non mi riesce a caricare la pagina al che ho pensato che il problema e che usando il modulo di python per excel ma allo stesso momento stando eseguendo un cgi io debba usare i processi...(facendo appunto eseguire su un processo separato la popolazione del file excel)
Poiche appunto lo scopo a cui voglio arrivare e che dato un certo nome di una tabella di un db (mySQL) che faccio in serire nella pagina pippo.cgi al premere di un bottone io vada ad estrarre tali dati dal db come faccio nel codice sopra, popolare un file excel con questi dati e poi in segiuito aprirli in una pagina web.
Spero che divulgando il codice possa chiarire meglio le idee alle persone che avranno
voglia di darmi una mano.Grazie



PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 2:18
Mercoledì, 15/11/2006
Quando dici che il browser non ti riesce a caricare la pagina, esattamente cosa intendi? Va in timeout?


Il mio blog: https://piero.dev
PM Quote
Avatar
marKo (Normal User)
Newbie


Messaggi: 4
Iscritto: 26/10/2006

Segnala al moderatore
Postato alle 14:15
Mercoledì, 15/11/2006
Esatto!!!!
andava in time out
Ora pero ho risolto!!!tutto a posto
il problema ora e che mi aggiorna il file excel pero ho problema con i tipi MIME!!

size = os.path.getsize('C:/view.xls')
of = open("C:/view.xls")
content = of.read()
of.close()

print"Content-Type:application/vnd.ms-excel"
print"content-disposition:inline;filename=view.xls"
print"Content-length:%d \r\n"%size
print content

Mi dice che sto aprendo un file danneggiatocche le informazini potrebbero venire perse e mi apre il file senza informazioni all'interno.
In realta ci sono tali informazioni perche' se lo apro direttamente le vedo.


PM Quote