You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python在Excel单个单元格写入多格式拼接文本

实现单个Excel单元格内多格式文本拼接(Python + openpyxl)

要在单个单元格内实现不同字体颜色的文本,需要用到openpyxl的RichText类(配合TextBlock或直接传入样式),它支持将多个带独立样式的文本片段组合到一起,替代原代码中给整个单元格设置统一字体的方式。

修改后的完整代码

from openpyxl import Workbook
from openpyxl.styles import Font
from openpyxl.cell.text import RichText, TextBlock

# 创建新工作簿和工作表
workbook = Workbook()
worksheet = workbook.active

# 创建富文本对象:黑色"Hello" + 红色"world"
rich_text = RichText(
    TextBlock(Font(color="000000"), "Hello"),
    TextBlock(Font(color="FF0000"), "world")
)

# 将富文本写入单个单元格
cell = worksheet.cell(row=1, column=1)
cell.value = rich_text

# 保存工作簿
workbook.save(filename="../hello_world.xlsx")

关键说明

  • RichText:作为单元格的内容值,专门用于封装多格式文本片段
  • TextBlock:每一个TextBlock对应一段文本和它的专属样式(这里指定字体颜色),可以根据需求添加任意多个片段
  • 无需再给单元格整体设置font属性,因为富文本已经包含了各部分的样式定义

简化写法

如果觉得TextBlock繁琐,也可以直接在RichText中交替传入文本字符串和样式对象,效果完全一致:

rich_text = RichText("Hello", Font(color="000000"), "world", Font(color="FF0000"))

内容的提问来源于stack exchange,提问作者Nikhil teja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 04:31:28