2013-04-23 19 views
6

Ho visto alcuni post che dicono che NON è possibile eseguire la formattazione condizionale usando xlwt, ma erano piuttosto vecchi. Ero curioso di sapere se si è evoluto?Formattazione condizionale xlwt

Ho cercato per circa mezza giornata ora. Inoltre, se non lo scrivo direttamente da xlwt, posso creare un file .xls contenente una singola cella con il formato condizionale desiderato e avere leggere quel formato e incollarlo nel foglio che intendo produrre utilizzando quindi xlwt?

+0

Non sono sicuro che quanto sopra sia completamente vero .. Vedi questo ... http://stackoverflow.com/questions/16448882/conditionally-formatting-text-strings-from-excel-using-python – Amistad

risposta

8

xlrd e xlwt ancora non supportano la formattazione condizionale. xlrd non lo legge, xlwt non lo scrive.

C'è un nuovo e fantastico modulo, chiamato xlsxwriter. Supporta conditional formatting fuori dalla scatola. Il progetto è attivo, la documentazione è piuttosto buona. Inoltre, ci sono un sacco di examples.

Ecco un esempio:

from xlsxwriter.workbook import Workbook 

workbook = Workbook('test.xlsx') 
worksheet = workbook.add_worksheet() 

worksheet.write('A1', 49) 
worksheet.write('A2', 51) 

format1 = workbook.add_format({'bold': 1, 'italic': 1}) 
worksheet.conditional_format('A1:A2', {'type': 'cell', 
             'criteria': '>=', 
             'value': 50, 
             'format': format1}) 
workbook.close() 
-1

Vero che xlswriter rende la formattazione abbastanza facile, ma penso che non può essere utilizzato per l'aggiunta tpsheets dati, che mi sembra un grande svantaggio.