要在使用xlwings生成图表时避免重复生成之前的图表,可以使用以下方法:

  1. 在生成新图表之前,先删除先前生成的图表。可以使用 Sheet.clear() 方法清空工作表上的所有内容,或使用 Chart.delete() 方法删除特定的图表。
import xlwings as xw

# 连接到Excel应用程序
app = xw.App()

# 打开工作簿
wb = app.books.open('工作簿名称.xlsx')

# 选择工作表
sheet = wb.sheets['工作表名称']

# 删除先前生成的图表
sheet.clear()

# 生成新图表
# ...

# 关闭工作簿和Excel应用程序
wb.close()
app.quit()
  1. 在生成新图表之前,判断工作表上是否已经存在图表。可以使用 Sheet.charts 属性获取工作表上的所有图表,然后根据需要判断是否需要删除或跳过生成新图表。
import xlwings as xw

# 连接到Excel应用程序
app = xw.App()

# 打开工作簿
wb = app.books.open('工作簿名称.xlsx')

# 选择工作表
sheet = wb.sheets['工作表名称']

# 判断工作表上是否已经存在图表
if len(sheet.charts) > 0:
    # 已存在图表,删除先前生成的图表
    for chart in sheet.charts:
        chart.delete()

# 生成新图表
# ...

# 关闭工作簿和Excel应用程序
wb.close()
app.quit()

这样可以确保每次生成图表时都是在一个空白的工作表上进行操作,从而避免生成重复的图表

xlwings for 生成chart会重复生成之前的chart

原文地址: http://www.cveoy.top/t/topic/hSBG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录