laiyuanjie 发表于 2023-9-3 22:06:23

关于用openpyxl添加单元格边框的问题

因为同样的款式,在款名那一列合并了,然后后面的数据,想按是否为同一款的来添加不同的单元格底线。。请教。。

isdkz 发表于 2023-9-3 22:06:46

您可以使用openpyxl库来添加单元格的边框。首先,您需要导入openpyxl库并打开您的Excel文件。然后,选择要添加边框的单元格范围,并为这些单元格设置边框样式。

以下是一个示例代码,演示如何根据款名是否相同来添加不同的单元格底线:

from openpyxl import Workbook
from openpyxl.styles import Border, Side

# 打开Excel文件
workbook = Workbook()
sheet = workbook.active

# 合并款名那一列的单元格
sheet.merge_cells('A1:A5')

# 设置边框样式
thin_border = Border(left=Side(style='thin'),
                     right=Side(style='thin'),
                     top=Side(style='thin'),
                     bottom=Side(style='thin'))

# 添加边框
for row in sheet.iter_rows(min_row=1, max_row=5, min_col=1, max_col=1):
    for cell in row:
      # 判断款名是否相同,根据需要设置不同的边框样式
      if cell.value == '款名':
            cell.border = thin_border
      else:
            cell.border = Border(bottom=Side(style='thin'))

# 保存Excel文件
workbook.save('example.xlsx')


在上面的代码中,我们首先合并了"A1:A5"范围内的单元格,然后使用Border类定义了一个细边框样式。接下来,我们使用iter_rows()方法遍历指定范围内的单元格,并根据款名是否相同来设置不同的边框样式。最后,我们保存了Excel文件。

请注意,上述代码仅作为示例,您需要根据您的实际需求进行适当的修改。
页: [1]
查看完整版本: 关于用openpyxl添加单元格边框的问题