【发布时间】:2018-01-24 01:12:31
【问题描述】:
使用 Python 和 openpyxl:
是否可以为单元格文本中的单个字符着色? 我想将钻石 (U+25C6) 的字符着色为红色。 目前我正在这样做:
WorkSheetOne.cell(row=CombBarLineDataOffsetFromTop+6, column=1, value="Monthly Average -◆-") # you should see the diamond here
WorkSheetOne['A' + str(CombBarLineDataOffsetFromTop+6)].font = Font(bold=True)
WorkSheetOne['A' + str(CombBarLineDataOffsetFromTop+6)].alignment = Alignment(horizontal="center")
它显示了菱形,我可以编辑 excel 文件并使菱形变为红色,但我有很多这样的东西,我需要让 Python 来做。
【问题讨论】:
-
Excel 单元格可以包含 RTF 文本。 This question about EPPlus 展示了如何将具有不同样式的 RTF 部分添加到同一个单元格中。 openpyxl doesn't seem to support this。
xlsx只是“只是”一堆压缩的 XML 文件。您可以创建一个具有所需样式的 Excel 工作表,使用openypyxl打开它并检查单元格的内容 -
无法在 openpyxl 中完成,也没有计划支持它。
-
即使您使用set_explicit_value 将值设置为正确的 XML 字符串,openpyxl 也会将其视为字符串并使用 HTML 编码存储它。另一方面,Xlsxwriter supports rich text。您应该考虑更改包或避免富文本
标签: python python-3.x openpyxl