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

我想在Windows,Python 2.7,xlwt 7.4上使用xlwt编写一个.xls文件。 我正在使用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时,popup窗口显示“文件错误:某些数字格式可能已经丢失”。 单元格被格式化为整数或实数,而不是百分比。 没有其他问题。 这些值在math上是正确的。

任何想法是怎么回事?

谢谢!

您的pctstring中包含参数名称num_format_str ,这是错误的。

尝试:

 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) 

有关 xlwt.easyxf()更多信息, 请参阅此处