excel 使用openpyxl添加注解

42fyovps  于 2022-11-26  发布在  其他
关注(0)|答案(2)|浏览(172)

大家。我正在寻找一种方法,使笔记在excel工作表,使用python。找到了一种方法来添加评论,但我需要像截图上的笔记。有没有一个简单的方法来添加他们使用openpyxl或任何其他库?screenshot of a note

2j4z5cfb

2j4z5cfb1#

更新此帖子,因为此帖子是Google搜索结果的最高排名
openpyxl文档错误地将注解称为注解。只需按照文档中关于如何添加注解的说明操作即可:https://openpyxl.readthedocs.io/en/latest/comments.html。文档中的示例代码有一个问题,因此请改用以下代码:

from openpyxl import Workbook
from openpyxl.comments import Comment
wb = Workbook()
ws = wb.active
comment = Comment('This is the comment text', 'Comment Author')
ws["A1".comment] = comment
wb.save('your_file.xlsx')
esbemjvw

esbemjvw2#

我一直试图完成同样的事情。显然,“注意”是相同的数据验证所描述的文件。
所以你要做的是:

from openpyxl import load_workbook
from openpyxl.worksheet.datavalidation import DataValidation

wb = load_workbook('my_sheets.xlsx')

# Create 'note'
dv = DataValidation()
dv.errorTitle = 'Your note title'
dv.error = 'Your note body'

# Add 'note' to A1 in the active sheet
dv.add(wb.active['A1'])

# This is required also, or you won't see the note
wb.active.add_data_validation(dv)

wb.save('my_sheet_with_note.xlsx')

它还提到了提示,您可以查看这些提示:

# Optionally set a custom prompt message
dv.promptTitle = 'List Selection'
dv.prompt = 'Please select from the list'

**编辑:**我用当时解决我问题的部分代码更新了答案:

def add_note(cell, prompt_title='', prompt=''):
    p = {
        'promptTitle': prompt_title[:32],
        'prompt': prompt[:255],
    }
    dv = DataValidation(**p)
    dv.add(cell)
    cell.parent.add_data_validation(dv)

相关问题