【问题标题】:How to persist shapes in python如何在 python 中保持形状
【发布时间】:2023-02-21 09:27:40
【问题描述】:

我有一个带有形状的 excel 表格。如果我只将工作表内容更改为 Python 而不更改此表单并保存它,所有形状都会消失。 我正在使用 openpyxl。 如何在 python 中保留 excel 形状?

【问题讨论】:

  • 请提供足够的代码,以便其他人可以更好地理解或重现问题。

标签: python excel openpyxl shapes


【解决方案1】:

我认为您是在询问如何在 openpyxl 数据中对 Excel 文件的形状进行编码,并且您的目标是在将 openpyxl 数据更改回 Excel 文件格式时让该数据保持不变。

openpyxl 以数据的可传输性、数据可视化(例如图表)以及 Excel 和 python 之间的一些可视化格式信息为中心。但是有一个 openpyxl.chart.shapes 子模块可以提供您所需要的。

【讨论】:

  • 是的,但是我想要的是,当现有的Excel文件中有一个叫a的图片,修改文件保存的时候,a还在。
  • 我找到了 doc,我知道 openpyxl 不会读取 xlsx 文件中的所有数据(例如:shape),但我需要它。我大致了解 ooxml 格式,但我不知道如何将这种形状、图像内容放入 xml 文件中。
【解决方案2】:

我认为你需要“xlwings”。 xlwing 做了很多 openpyxl 做不到的事情。保留您想要的形状或保留公式...但是,请注意,因为它无法在没有 Excel 的环境中运行。

import xlwings

app = xlwings.App(visible=False)
wb=app.books.open('test.xlsx')
ws= wbxl.sheets[0]
ws.shapes

xlwings docs

【讨论】:

    猜你喜欢
    • 2020-12-04
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多