openpyxl 添加工作表到工作簿

openpyxl add worksheet to workbook

是否可以将现有工作sheet对象添加到openpyxl中的工作簿对象?

为了更好地理解: 我不想像这样添加新的 sheet:

workbook.create_sheet('new sheet')

相反,我想“合并”两个现有的 sheets:

second_sheet = openpyxl.worksheet.worksheet.Worksheet()
workbook.add_sheed(second_sheet)

如果您查看源代码,您会发现这是可行的,但不可取。因为样式之类的东西是由同一个工作簿中的不同工作表共享的,所以这些都需要由工作簿来管理。这也是为什么不能在工作簿之间移动或复制工作表的原因。

如果您尝试过自己的代码,您就会知道,在创建工作表时必须提供父工作簿:

wb = Workbook()
ws = Worksheet(wb, "Sheetname")
wb._add_sheet(ws) # private API so guarantee that this will always be possible