在OpenPyXL中应用样式有问题

时间:2014-11-16 07:20:29

标签: python python-3.x openpyxl

我正在尝试设置特定行和列的样式。

worksheet.cell(row=file_row_number, column=1).value = "Hotel ID"
_cell = worksheet.cell("C1")
_cell.style.font.bold = True

它显示错误

TypeError: cannot set bold attribute

以前我使用的是XLWT,它有一种非常简单的方法来应用样式,就像定义style变量一样,然后永远write()你可以通过style变量以在该行/列上应用样式

如上所述,OpenPyXL中是否有任何方式可以轻松应用样式?

2 个答案:

答案 0 :(得分:8)

自从接受了答案后,情况发生了变化。

如果您按照接受的答案建议,您将收到以下警告: UserWarning:直接使用字体等格式对象   警告(“直接使用格式对象,如字体”)

答案仍然有效但新解决方案是将其直接应用于单元格,例如: worksheet.cell("C1").font = Font(bold=True)

答案 1 :(得分:2)

正如here所述,您应首先创建一个Style对象:

from openpyxl.styles import Style, Font

s = Style(font=Font(bold=True))

然后你可以像这样将它应用到你的手机:

_cell.style = s