2016-04-08 8 views
0

Ich versuche, eine XLS-Datei mit Xlwt unter Windows, Python 2.7, XLWT 7.4 zu schreiben. Ich verwende Excel 2013Excel Warnung Eröffnungsdatei mit xlwt erstellt: Dateifehler

ich ein easyxf Format gemacht:

borders = "borders: top thin, bottom thin, left thin, right thin;" 
align = "align: wrap on, vert centre, horiz centre;" 
pattern = 'pattern: pattern solid, fore_colour ' + color_f(center) + ";" 
pct  = "num_format_str = 0%" 
pct_style = xlwt.easyxf(pattern + borders + align, pct) 

und schrieb diese Zellen:

ws.write (xlrow, 7, 1.0 * optempo/span, pct_style) 
ws.write (xlrow, 8, 1.0 - total/n_workdays, pct_style) 

Wenn ich die .xls öffnen, erscheint ein Pop-up sagt „File Fehler: Einige Zahlenformate sind möglicherweise verloren gegangen. " Die Zellen werden als Ganzzahlen oder Realwerte formatiert und nicht als Prozente. Es gibt keine anderen Probleme. Die Werte sind mathematisch korrekt.

Irgendwelche Ideen, was ist los?

Danke!

Antwort

1

Sie fügen den Parameternamen num_format_str in Ihre pct Zeichenfolge ein, was falsch ist.

Versuchen:

borders = "borders: top thin, bottom thin, left thin, right thin;" 
align = "align: wrap on, vert centre, horiz centre;" 
pattern = 'pattern: pattern solid, fore_colour ' + color_f(center) + ";" 
pct  = "0%" 
pct_style = xlwt.easyxf(pattern + borders + align, num_format_str = pct) 

See here für weitere Informationen über xlwt.easyxf()

+0

Perfect! Vielen Dank! – Gerry

Verwandte Themen