openpyxl 设置合并单元格边框问题

在使用Python的openpyxl库处理Excel时,遇到一个问题:设置合并单元格的边框不完整。经过调试发现,如果先设置单元格样式(包括边框),然后再合并单元格,可以确保合并后的单元格拥有完整的边框。调整代码顺序后,问题得到完美解决。此方法适用于需要使用openpyxl进行Excel单元格样式操作的情况。
摘要由CSDN通过智能技术生成

openpyxl 设置合并单元格边框问题

版本

  • Python版本:3.4
  • openpyxl版本:2.6.0

问题描述

在调用openpyxl操作Excel单元格,设置单元格样式的过程中出现对于合并的单元格边框设置不完全。在这里插入图片描述
该操作对应的代码如下

        cell_font = Font(name='等线', size=11, color=colors.BLACK)
        cell_fill = PatternFill("solid", fgColor="E1FFFF")
        cell_alignment = Alignment(horizontal='center', vertical='center')
        cell_border = Border(left=Side(style='thin'), right=Side(style='thin'),
                             top=Side(style='thin'), bottom=Side(style='thin'))
        self.ws.merge_cells('A2:B2')
        self.ws.merge_cells('A3:B3')
        self.set_cell(self.ws['A2'], "CaseName", cell_font, cell_fill, cell_alignment, cell_border)
        self.set_cell(self.ws['A3'], cell_fill=cell_fill)

解决方法

在调试过程中发现,若先对单元格进行样式设置(包括边框),再将该单元格合并,即可是得合并后的单元格获得完整的边框。

        cell_font = Font(name='等线', size=11, color=colors.BLACK)
        cell_fill = PatternFill("solid", fgColor="E1FFFF")
        self.set_cell(self.ws['A2'], "CaseName", cell_font, cell_fill, cell_alignment, cell_border)
        self.set_cell(self.ws['A3'], cell_fill=cell_fill)
        self.ws.merge_cells('A2:B2')
        self.ws.merge_cells('A3:B3')

在这里插入图片描述
这样就可以完美解决合并单元格的边框设置问题。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值