【问题标题】:Add a new sheet to a existing workbook in python将新工作表添加到 python 中的现有工作簿
【发布时间】:2016-11-03 01:12:18
【问题描述】:

我浏览了几乎所有以前的线程,但仍然无法正常工作。我正在尝试将新工作表添加到现有工作簿。我的代码有效,但它不断添加更多(实际上很多)工作表。我无法弄清楚解决方案。下面是我的代码

from openpyxl import load_workbook
wb2 = load_workbook('template.xlsx')
from xlutils.copy import copy as xl_copy
wb = xl_copy(wb2)
wb.create_sheet('sid1')
wb.save('template.xlsx')

【问题讨论】:

  • 我很惊讶您没有收到其他类型的错误。 xlutils 不是为与 openpyxl 一起工作而设计的。特别是,wb = xl_copy(wb2) 行似乎注定要失败。即使它不会产生任何错误,也完全没有必要,因为openpyxl 不需要(而且真的不能使用)xlutils.copy 提供的东西。

标签: python excel


【解决方案1】:

如果您想将工作表添加到现有电子表格,只需将新工作表添加到文件中,而不是复制您的 load 对象并尝试将新工作表添加到其中。

from openpyxl import load_workbook
wb2 = load_workbook('template.xlsx')
wb2.create_sheet('sid1')
wb2.save('template.xlsx')

【讨论】:

  • @fsociety,我在本地尝试过,效果很好。您确定这是您正在运行的所有代码,而不仅仅是更大代码的spinet。我认为某处可能存在循环
  • 抱歉,你是对的......我刚刚发现我一直在搞砸:)
  • @fsociety 很高兴有帮助
  • 这很好用,它还将新工作表设置为当前活动工作表。
  • 在末尾添加 .... wb2..close()
猜你喜欢
  • 1970-01-01
  • 2021-10-03
  • 1970-01-01
  • 2017-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多