如何使用openpyxl区分Excel中的comment与note?
用openpyxl区分Excel的Comment与Note
完全可以区分,openpyxl针对这两种对象提供了明确的访问方式:
- 获取Note(旧版批注):直接通过单元格的
comment属性访问——注意这里的命名容易产生混淆,它对应的正是Excel里的旧版Note(仅含文本的弹窗批注)。示例代码:
from openpyxl import load_workbook wb = load_workbook("your_file.xlsx") ws = wb.active target_cell = ws["A1"] # 提取旧版Note old_note = target_cell.comment if old_note: print("旧版Note内容:", old_note.text)
- 获取Comment(新版协作评论):需要通过工作表的
comments属性获取,这是一个存储所有新版Comment的集合,每个Comment对象包含关联单元格、作者、评论内容等信息。示例代码:
# 遍历工作表中所有新版Comment for new_comment in ws.comments: print(f"评论所在单元格:{new_comment.ref}") print(f"评论作者:{new_comment.author}") print(f"评论内容:{new_comment.text}")
简言之,openpyxl里单元格的comment对应Excel的旧版Note,工作表的comments集合对应Excel的新版协作Comment,二者是相互独立的对象,能清晰区分。
内容的提问来源于stack exchange,提问作者Ben
相关产品推荐
相关产品推荐

