如何使用 openpyxl 处理 Excel 批注?Comment 对象介绍
关注 1800
阅读本节的前提是已经了解 Excel 单元格对象Cell,你可以查看如何使用 openpyxl 处理 Excel 单元格?Cell 对象介绍一节来获取相关信息。
openpyxl Excel 批注对象 Comment
openpyxl包中的Comment类,属于模块openpyxl.comments.comments,用于表示 Excel 中的批注。
什么是 Excel 批注?
在 Excel 文件中,批注一般用于单元格,可以为用户提供更多有用的信息。
创建 Excel 批注
使用Comment对象的构造器,可以创建新的批注,这些批注可与 Excel 文件中的单元格关联。
Comment(text, author, height=79, width=144)
- text 参数
text参数是批注的文本内容,可以是 Python 字符串或其他类型的值。- author 参数
author参数是一个字符串,表示批注的作者。- height 参数
height参数是数字类型,表示批注的高度,默认值为79。- width 参数
width参数是数字类型,表示批注的宽度,默认值为144。
Comment 对象的特性
Comment对象拥有属性text,以及变量author,height,width,在未作出修改时,他们的值与传递给Comment构造器的实参的值相同。
此外,Comment对象还拥有变量content,其作用与属性text相同。
Comment 对象的 author 变量所表示的作者可能无法在 Office 软件中显示
虽然可以通过Comment对象的构造器或author变量,来设置单元格批注的作者,但在不同的 Office 软件中,批注的作者可能不会正确显示。
获取和设置 Excel 批注
Cell对象的comment属性,可以获取或设置 Excel 单元格中的批注。comment属性的返回值是一个Comment对象,如果单元格未包含批注,则Cell对象的comment属性返回空值None。
cell.comment
cell.comment = text
- text 值
text是一个表示批注的Comment对象。要移除单元格中的批注,text应该为空值None。
在 Excel 文件Comment.xlsx的工作表Sheet中,单元格A1和B1没有批注,我们通过新建的Comment对象为单元格A1添加批注。
# 打开 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