我试图在Windows上使用xlwt编写.xls文件,Python 2.7,xlwt 7.4。我使用的是Excel 2013。
我制作了一个easyxf格式:
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 )
并写下这些单元格:
ws.write (xlrow, 7, 1.0 * optempo / span, pct_style)
ws.write (xlrow, 8, 1.0 - total / n_workdays, pct_style)
当我打开.xls时,弹出窗口显示"文件错误:某些数字格式可能已丢失。"单元格被格式化为整数或实数,而不是百分比。没有其他问题。这些值在数学上是正确的。
任何想法会发生什么?
谢谢!
答案 0 :(得分:1)
您在num_format_str
字符串中包含参数名称pct
,这是错误的。
尝试:
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了解有关xlwt.easyxf()