我試圖將表單default_sheet
複製到同一工作簿中的新工作表new_sheet
中。複製單元格樣式openpyxl
我確實設法創建了新工作表並從默認工作表中複製了值。我怎樣才能將每個單元格的樣式複製到new_sheet單元格中?
new_sheet = workbook.create_sheet()
new_sheet.title = sheetName
default_sheet = workbook.get_sheet_by_name('default')
new_sheet = workbook.get_sheet_by_name(sheetName)
for row in default_sheet.rows:
col_idx = float(default_sheet.get_highest_column())
starting_col = chr(65 + int(col_idx))
for row in default_sheet.rows:
for cell in row:
new_sheet[cell.get_coordinate()] = cell.value
<copy also style of each cell>
我目前在使用openpyxl 1.8.2,但是我想要切換到1.8.5。
一種解決方案是與複製:
from copy import copy, deepcopy
new_sheet._styles[cell.get_coordinate()] = copy(
default_sheet._styles[cell.get_coordinate()])
我發現了一種複製的方式,但我不確定它是否是最好的方法,它不能複製像單元格的寬度/高度一樣的東西! – FotisK
是的,你需要使用複製。每個工作表都保存一個可以複製的單元格樣式的字典。但是,你真的想嘗試使用1.9分支,這個分支有一個更清潔的界面。 –