【问题标题】:using openpyxl to change an excel document without removing existing data and graphs使用 openpyxl 更改 excel 文档而不删除现有数据和图形
【发布时间】:2015-12-01 20:00:50
【问题描述】:

我正在尝试使用 python 将数据从 dat 文件复制到带有 openpyxl 的 excel 模板。我尝试使用模板进行一些测试,发现当我保存文件时,它删除了大部分现有单元格和所有图表。我在另一个问题中读到 openpyxl 可能不适合编辑现有的电子表格。有没有更好的选择或方法让这个工作?

这是我正在编写的代码,只是为了看看我是否可以编辑电子表格:

import openpyxl
wb=openpyxl.load_workbook('file.xlsm', keep_vba=True)
A=wb.get_sheet_by_name("A")
g=A['F24'].value
print g
A['A1'].value=g
print A['A1'].value
wb.save('file2.xlsm')

当我打开 file2 时,大部分格式、数据和所有图表都消失了。

编辑:所以我正在尝试 xlwings,但找不到好的教程或使用的术语列表。有人知道我在哪里可以找到吗?

【问题讨论】:

  • 你看过xlwings吗? xlwings.org
  • 我看到了它,但我找不到关于它的库的太多信息。我下载了它,我第一次尝试使用它工作正常,直到我试图关闭它并且它损坏了我正在处理的文件。我会再玩一些,看看它是否适合我的需要。
  • 您使用的是什么版本的 Excel?
  • 我知道发生了什么。我以为它关闭了,但当我再次尝试打开它时,它却说它已损坏或不存在。在我发表评论后几个小时后,我前往任务管理器强制关闭它,一切都很好。
  • 以下链接可能会帮助您找到替代解决方案stackoverflow.com/questions/31020766/…

标签: python excel openpyxl


【解决方案1】:

这可以从 openpyxl 2.5 版开始。

【讨论】:

  • 有什么例子可以用来保存图表。对于枢轴,我们可以使用下面来刷新枢轴。 sheet = workbook["Pivot"] pivot = sheet._pivots[0] pivot.cache.refreshOnLoad = True'''
猜你喜欢
  • 1970-01-01
  • 2023-03-04
  • 1970-01-01
  • 2017-01-28
  • 1970-01-01
  • 2015-01-31
  • 1970-01-01
  • 2020-07-13
  • 2017-12-26
相关资源
最近更新 更多