【问题标题】:openpyxl - I can't copy the cell style in another oneopenpyxl - 我无法将单元格样式复制到另一个中
【发布时间】:2020-06-07 11:26:23
【问题描述】:

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

下面是一个简单的例子(一条指令不起作用):

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()

我该如何解决这个问题?

【问题讨论】:

  • 这能回答你的问题吗? Setting styles in Openpyxl
  • 请参阅 here 以获得完整的答案和解释为什么复制 cell._style 不起作用。

标签: python openpyxl


【解决方案1】:

试试这个

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)

【讨论】:

猜你喜欢
  • 2021-11-26
  • 2014-06-13
  • 2020-03-10
  • 2018-10-27
  • 1970-01-01
  • 1970-01-01
  • 2018-03-15
  • 1970-01-01
  • 2012-08-04
相关资源
最近更新 更多