使用openpyxl在Excel电子表格上读写注释

时间:2019-08-14 09:41:07

标签: openpyxl

我正在处理以下问题:读取现有文件,将新数据插入文件并使用此新数据保存文件。问题在于导入的电子表格在单元格B5,F5,G5,N5和O5上有注释。

如果导入的文件上没有注释,我设法将注释添加到电子表格中,但是我希望这样做而无需进行先前的清理工作即可在导入文件之前删除注释。

Openpyxl文档为我提供了以下说明:

  • 工作簿中存在的注释在加载时会自动存储在其相应单元格的comment属性中。字体大小,粗体和斜体等格式信息以及注释容器框的原始尺寸和位置都会丢失。

  • 保存在工作簿中的注释会自动保存到工作簿文件中。

  • 注释尺寸可以指定为只写。评论尺寸以像素为单位。

from openpyxl import Workbook

from openpyxl.comments import Comment

from openpyxl.utils import units

wb=Workbook()

ws=wb.active

comment = Comment("Text", "Author")

comment.width = 300

comment.height = 50

ws["A1"].comment = comment

wb.save('commented_book.xlsx')

我在档案上做了哪个。

wb = load_workbook("SDI.xlsx")
ws = wb.active

for r in dataframe_to_rows(df, index=False, header=False):
    ws.append(r)

comment = Comment("Text", "Author")

ws['B5'].comment = comment
ws['F5'].comment = comment
ws['G5'].comment = comment
ws['O5'].comment = comment
ws['N5'].comment = comment

wb.save("SDI.xlsx")

但是打开Excel文件时出现错误,并且如果导入的文件上有注释,则注释不会加载。如果我删除注释行,则该错误仍然存​​在,并且Excel出现格式错误。

如何保留原始评论?

0 个答案:

没有答案