openpyxl:NamedStyle报错ValueError: Style highlight exists already

原因:当我们定义并调用了一次Style之后,以后的调用需要直接使用该Style的字符串形式。否则会报错Style highlight exists already。一般程序运行第二次时会出现报错,如果没有用字符串形式引用的话。

wb.add_named_style(highlight)#第一步
ws[‘A1‘].style = highlight#第二步
Once registered assign the style using just the name:
ws[‘E2‘].style = ‘highlight‘#以后就可以直接调用字符串形式了

注意:
不同的对象之间是可以共享同一个Styles的,并且一旦为对象指定了Styles之后就不可以再次更改。这是为了在更改很多的单元格的Styles而不仅只是更改一个单元格时能够避免不必要的副作用。

实例:

//定义
highlight = NamedStyle(name="highlight") 

//定义字体样式
highlight.font = Font(name='Consolas', size=11, bold=False, italic=False, vertAlign=None, underline='none',strike=False, color='FF000000')

//定义填充样式
highlight.fill = PatternFill("solid", fgColor="DDDDDD")  # 背景填充

//定义边框样式
bd = Side(style='thin', color="000000")
highlight.border = Border(left=bd, top=bd, right=bd, bottom=bd)

//调用
ws['A1'] = ‘highlight’
或者
for row in ws.rows:
     for cell in row:
         cell.style = 'highlight'

颜色代码对应表:
http://www.360doc.com/content/13/1120/12/14695328_330723062.shtml

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值