2013-04-23 19 views
6

Widziałem niektóre posty, które mówią, że NIE można wykonywać formatowania warunkowego przy użyciu xlwt, ale były one dość stare. Byłem ciekawy, czy to się rozwinęło?Formatowanie warunkowe xlwt

Szukałem już około pół dnia. Co więcej, jeśli piszę to bezpośrednio z wersji xlwt, czy mogę utworzyć plik .xls zawierający pojedynczą komórkę z żądanym formatem warunkowym i czy mam ten format odczytany i wkleić go do arkusza, który chcę utworzyć, używając xlwt?

+0

Nie jestem pewien, czy powyższe jest całkowicie prawdziwe. Zobacz to .. http://stackoverflow.com/questions/16448882/conditionally-formatting-text-strings-from-excel-using-python – Amistad

Odpowiedz

8

xlrd i xlwt nadal nie obsługują formatowania warunkowego. xlrd go nie czyta, xlwt go nie zapisuje.

Istnieje nowy i niesamowity moduł o nazwie xlsxwriter. Nie obsługuje conditional formatting po wyjęciu z pudełka. Projekt jest aktywny, dokumentacja jest całkiem dobra. Dodatkowo istnieje wiele examples.

Oto przykład:

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

prawda xlswriter ułatwia formatowanie dość łatwe, ale myślę, że nie mogą być wykorzystywane do dołączania tpsheets danych, które czuję to duża wada.