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
|