问题
I have seen some posts that say you can NOT perform conditional formatting using xlwt
, but they were rather old. I was curious if this has evolved?
I have been searching for about half a day now. Furthermore, if I con't write it directly from xlwt
, can I create an .xls
file containing a single cell with the conditional format I want and have xlrd
read that format and paste it into the sheet I aim to produce then using xlwt
?
回答1:
xlrd
and xlwt
still don't support conditional formatting. xlrd
doesn't read it, xlwt
doesn't write it.
There is a new and awesome module, called xlsxwriter. It does support conditional formatting out of the box. The project is active, documentation is pretty good. Plus, there are a lot of examples.
Here's an example:
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()
回答2:
True that xlswriter makes formatting pretty easy, but i think it can not be used for appending data tpsheets, which i feel is a big drawback.
来源:https://stackoverflow.com/questions/16176738/conditional-formatting-xlwt