【问题标题】:openpyxl add worksheet to workbookopenpyxl 将工作表添加到工作簿
【发布时间】:2020-10-27 21:28:00
【问题描述】:

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

为了更好地理解: 我不想添加这样的新工作表:

workbook.create_sheet('new sheet')

相反,我想“合并”两个现有工作表:

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

【问题讨论】:

标签: python excel openpyxl


【解决方案1】:

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

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

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

【讨论】:

  • 谢谢,我没有运行我自己的代码,因为我提到的“add_sheet”函数是一个例子,我知道这个函数确实存在。我还在 openpyxl 的文档中看到,由于样式不同等原因,无法从其他工作簿插入工作表。但这对我来说应该不是问题,因为我要合并的所有工作表都完全相同,只有不同的值在他们的细胞中。
  • 好吧,只要将工作表绑定到新工作簿,它应该可以工作,但不能保证。
猜你喜欢
  • 1970-01-01
  • 2017-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-26
  • 1970-01-01
  • 2017-07-09
相关资源
最近更新 更多