如何使用 Python openpyxl 包操作 Excel 批注?openpyxl Comment 对象介绍

我被代码海扁署名-非商业-禁演绎
阅读 3:34·字数 1073·发布 
Bilibili 空间
关注 960

阅读本节的前提是已经了解 Excel 单元格对象Cell,你可以查看如何使用 Python openpyxl 包操作 Excel 单元格?openpyxl Cell 对象介绍一节来获取相关信息。

Python openpyxl 包中的 Excel 批注对象 Comment

Pythonopenpyxl包中的Comment类,属于模块openpyxl.comments.comments,用于表示 Excel 中的批注。

什么是 Excel 批注?

在 Excel 文件中,批注一般用于 Excel 单元格,可以为用户提供更多有用的信息。

使用 Python openpyxl 包的 Comment 对象创建 Excel 批注

使用 Pythonopenpyxl包的Comment对象的构造器,可以创建新的 Excel 批注,这些批注可与 Excel 文件中的单元格关联。

Comment(text, author, height=79, width=144)

text 参数

text参数是 Excel 批注的文本内容,可以是 Python 字符串或其他类型的值。

author 参数

author参数是一个字符串,表示 Excel 批注的作者。

height 参数

height参数是数字类型,表示 Excel 批注的高度,默认值为79

width 参数

width参数是数字类型,表示 Excel 批注的宽度,默认值为144

Python openpyxl 包的 Comment 对象的特性

Pythonopenpyxl包的Comment对象拥有属性text,以及变量authorheightwidth,在未作出修改时,他们的值与传递给Comment构造器的实参的值相同。

此外,Comment对象还拥有变量content,其作用与属性text相同。

openpyxl 包的 Comment 对象的 author 变量所表示的作者可能无法在 Office 软件中显示

虽然可以通过openpyxl包的Comment对象的构造器或author变量,来设置 Excel 单元格批注的作者,但在不同的 Office 软件中,批注的作者可能不会正确显示。

使用 Python openpyxl 包的 Comment 对象获取和设置 Excel 批注

Pythonopenpyxl包的Cell对象的comment属性,可以获取或设置 Excel 单元格中的批注。comment属性的返回值是一个Comment对象,如果 Excel 单元格未包含批注,则Cell对象的comment属性返回空值None

cell.comment
cell.comment = text

text 值

text是一个表示 Excel 批注的Comment对象。要移除 Excel 单元格中的批注,text应该为空值None

在 Excel 文件Comment.xlsx的工作表Sheet中,单元格A1B1没有批注,我们通过新建的Comment对象为单元格A1添加批注。

comment.py
# 打开 Comment.xlsx 中的工作表 Sheet
import openpyxl
wb = openpyxl.load_workbook('Comment.xlsx')
ws = wb['Sheet']

from openpyxl.comments.comments import Comment # 为单元格 A1 设置批注 ws['A1'].comment = Comment('一个批注!', '好人', 300, 500) # 获取单元格 B1,C1 的批注 print(ws['B1'].comment) print(ws['C1'].comment) # 修改单元格 C1 的批注 c = ws['C1'].comment c.text = '我改了一下' c.width = 500 c.height = 500
wb.save('Apple.xlsx')
None
Comment: 一头熊! by 未知作者

源码

src/zh/openpyxl/cells/comments·codebeatme/office-programming·GitHub