openpyxl-我无法复制另一种单元格样式

时间:2020-06-07 03:12:06

标签: python openpyxl

我需要将一个单元格复制到具有所有相关样式(包括宽度尺寸)的另一个单元格。

下面是一个简单的示例(一条指令无效):

import openpyxl
from copy import copy

src_wb = openpyxl.load_workbook("C:\\Users\\Admin\\Desktop\\database.xlsx")
src_ws = src_wb[src_wb.sheetnames[0]]

dst_wb = openpyxl.Workbook()
dst_ws = dst_wb.active
dst_ws.title = "TEST"

src_cell = src_ws.cell(row=1, column=1)
dst_cell = dst_ws.cell(row=1, column=1)

if src_cell.has_style:
    dst_cell._style = copy(src_cell._style) # it doesn't work..

dst_cell.value = src_cell.value

dst_wb.save("test.xlsx")
dst_wb.close()

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

尝试

if cell.has_style:
    new_cell.font = copy(cell.font)
    new_cell.border = copy(cell.border)
    new_cell.fill = copy(cell.fill)
    new_cell.number_format = copy(cell.number_format)
    new_cell.protection = copy(cell.protection)
    new_cell.alignment = copy(cell.alignment)