簡體   English   中英

Python Excel 將單元格樣式從一個復制到另一個openpyxl

[英]Python Excel copy cell style from one to another openpyxl

我正在使用 openpyxl 3.0.7 版努力解決以下問題 我想將一個單元格的樣式復制到另一個單元格。 這意味着背景顏色、字體等。但是,我不知道該怎么做。

我最初的想法基本上是做sheet["E1"].font = sheet["D1"].font

那位射出TypeError: unhashable type: 'StyleProxy' 只使用.style並不能真正做到那么多,所以它不合適。

我在網上找到了一些解決方案,例如此處的解決方案。 但是,我不知道如何將它應用於我的特定需求,因為我什至難以將字體從一個單元格轉移到另一個單元格。

鍵入此內容后不久,我找到了解決方案。

from copy import copy
wb = openpyxl.load_workbook('C:\\path...\\')
sheet = wb["Name of the worksheet"]

sheet["E1"].font = copy(sheet["D1"].font)
sheet["E1"].border = copy(sheet["D1"].border)
sheet["E1"].fill = copy(sheet["D1"].fill)
sheet["E1"].number_format = copy(sheet["D1"].number_format)
sheet["E1"].protection = copy(sheet["D1"].protection)
sheet["E1"].alignment = copy(sheet["D1"].alignment)

剩下要做的唯一一件事就是循環執行此操作。 這可以通過做類似的事情來實現

for i in range(....): 
    sheet["E" + str(i)].font= copy(sheet["D" +str(i)].font) 
    etc. 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM