使用Python将文本写入Excel单元格,但在单个单元格中使用不同格式
我们怎么把两个格式不同的字符串(比如一个是黑色,另一个是红色)合并到Excel表格的一个单元格里,使用Python代码来实现呢?
from openpyxl import Workbook
from openpyxl.styles import Font
# Create a new Excel workbook
workbook = Workbook()
worksheet = workbook.active
# Write "Hello" in black
cell_hello = worksheet.cell(row=1, column=1)
cell_hello.value = "Hello"
cell_hello.font = Font(color="000000") # Black font color
# Write "world" in red
cell_world = worksheet.cell(row=1, column=2)
cell_world.value = "world"
cell_world.font = Font(color="FF0000") # Red font color
# Save the workbook
workbook.save(filename="../hello_world.xlsx")
不过,怎么才能把这些数据写入到一个单元格里呢?
1 个回答
3
你可以使用富文本来进行操作:
from openpyxl import Workbook
from openpyxl.cell.text import InlineFont
from openpyxl.cell.rich_text import TextBlock, CellRichText
wb = Workbook()
ws = wb.active
def fn(t, rt, c, sep=" ", **inf_kw):
return CellRichText(
[t + sep, TextBlock(InlineFont(color=c, **inf_kw), rt)]
)
ws["A1"] = fn("Stack", "Overflow", "FFA500", b=True)
wb.save("output.xlsx")
输出结果: