如何使用 Python openpyxl 包操作 Excel 批注?openpyxl Comment 对象介绍
阅读本节的前提是已经了解 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
,以及变量author
,height
,width
,在未作出修改时,他们的值与传递给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
中,单元格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