我有几个已经制作好的Excel,我想对其进行格式化。 其中一种格式是将单元格的一部分设置为绿色,另一部分设置为红色。 对于此示例,我们假设单元格“A1”填充有“Hello World!”。
我想将“Hello”设置为绿色字体,将“World!”设置为绿色字体。用红色字体,在同一单元格内。
我知道使用 xlsxwriter 或 xlwings 是可能的,但两者都不适用于我的情况:
因此,我一直在尝试使用好的旧 OpenPyxl 库,但根据我的理解,这对于我想做的事情来说并不是最好的..
让我们尝试以下示例,只需(应该)用红色写“Hello”和“World!” Excel 工作表中的黑色。
from openpyxl import Workbook
from openpyxl.cell.rich_text import TextBlock, CellRichText
from openpyxl.cell.text import InlineFont
wb = Workbook()
ws = wb.active
red = InlineFont(color='FF000000')
rich_string1 = CellRichText([TextBlock(red, 'Hello'), "World!"])
ws["A1"] = rich_string1
wb.save("hello_world_richtext.xlsx")
结果并不像预期的那样用黑色书写。我一直在尝试几件事,例如使用 xlsxwriter 在单独的工作表中书写并使用 openpyxl 复制粘贴到正确的位置,但它丢失了格式。 你们中有人知道我该如何继续吗? 预先感谢
FF000000
是黑色,不是红色。红色是00FF0000
。除此之外,您的代码应该可以工作。它只是将黑色和黑色放在一起,因此不可见。