【问题标题】:Open an Excel file, change background colors and add comments, and save it (python)打开 Excel 文件,更改背景颜色并添加注释,然后保存(python)
【发布时间】:2018-11-12 10:41:40
【问题描述】:

Python 中有几个包用于读取和写入 Excel 文件。其中一些包理解格式,一些不理解。

我想读取现有的 Excel 文件并更改某些单元格的背景颜色。我想将 cmets 添加到这些单元格中,解释为什么它们的颜色会改变。然后我想再次保存它们。

有没有办法做到这一点?我正在寻找一个纯 python 解决方案,而不是运行 excel 的解决方案,因为我需要批量执行此操作。

【问题讨论】:

标签: python excel


【解决方案1】:

使用 openpyxl (https://openpyxl.readthedocs.io/en/2.5/comments.html) 相当容易,但请记住,原始 cmets(如果存在)将被覆盖。

这是一个简单的片段,它设置了背景颜色并添加了注释:

from openpyxl import load_workbook
from openpyxl.comments import Comment
from openpyxl.styles import Color, PatternFill, Font, Border

wb = load_workbook(fname)
ws = wb.active
redFill = PatternFill(start_color='FFFF0000', end_color='FFFF0000', fill_type='solid')

ws['A1'].comment = Comment("Comment for A1","No Such Author")
ws['A2'].fill = redFill
wb.save(fname)

【讨论】:

  • 这很容易。我会编辑你的答案并接受它。
【解决方案2】:

我会使用 pypiwin32 如下

import win32.client as win32
app = win32.Dispatch("Excel.Application")
wb = app.Workbooks.Add()
ws = wb.Worksheets("Sheet1")
ws.Range("A1").Interior.Color = 255
ws.Range("A1").AddComment("Comment Text Here")
app.Quit()

【讨论】:

  • 可行,但我想要一个纯 python 解决方案,因为我需要在不启动 excel 的情况下执行此操作。
  • openpyxl 是你最好的选择,虽然我不确定确切的代码:openpyxl.readthedocs.io/en/stable/#
猜你喜欢
  • 1970-01-01
  • 2022-11-09
  • 2011-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-10
  • 2019-02-07
  • 2011-09-25
相关资源
最近更新 更多