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

如何用Python提取含富文本的Excel单元格格式(加粗、斜体等)?

提取Excel富文本单元格的局部字体格式

你遇到的问题根源在于:直接通过cell_obj.font.bold只能获取单元格的默认字体样式,但富文本单元格内的文本是分段设置格式的,每个分段的样式需要从rich_text属性中读取。

正确实现方法

openpyxl会把富文本单元格的内容解析为RichText对象,每个分段的文本和对应字体样式都包含在这个对象里。你需要遍历每个分段,分别检查它们的加粗、斜体属性:

import openpyxl
path = "doc.xlsx"
wb_obj = openpyxl.load_workbook(path)
sheet_obj = wb_obj.active
cell_obj = sheet_obj.cell(row=5, column=5)

# 遍历富文本的每个分段
for segment in cell_obj.value:
    print(f"文本内容: {segment.text}")
    print(f"是否加粗: {segment.font.bold}")
    print(f"是否斜体: {segment.font.italic}")
    print("---")

代码说明

  • 若单元格是富文本格式,cell_obj.value会是RichText类型,包含多个分段元素
  • 每个分段的text属性对应该段内容,font属性包含该段的字体样式(bold、italic等)
  • 若单元格不是富文本,cell_obj.value为普通字符串,此时可直接用cell_obj.font获取整体样式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 09:42:06