使用xlwt创建的Excel警告打开文件:文件错误

时间:2016-04-08 12:25:45

标签: python excel xlwt

我试图在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时,弹出窗口显示"文件错误:某些数字格式可能已丢失。"单元格被格式化为整数或实数,而不是百分比。没有其他问题。这些值在数学上是正确的。

任何想法会发生什么?

谢谢!

1 个答案:

答案 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()

的更多信息