有没有办法用 openpyxl 打印一个单词**粗体**?

Is there a way with openpyxl to print a single word **bold**?

我想打印出一个 Excel Sheet,其中我将有一个包含大量文本的专栏。在这段文字中,我想用粗体突出显示一些特定的词?

['B1'] = text text text text text text text text 粗体 text text text text

到目前为止,我只是找到了将孔单元 'B1' 更改为另一种格式的方法。有没有人知道如何以另一种方式突出显示单个单词?例如另一种颜色,斜体还是换行?

谢谢! :)

这是在 openpyxl 中添加 rich text 支持的案例,由于在这个 Q&A 来自官方 openpyxl 邮件列表。

富文本与纯文本的不同之处在于它支持文本格式,例如粗体斜体和下划线,以及不同的字体、字体大小和彩色文本。目前最新版openpyxl(2.5.1)不支持富文本

好的,因为根据评论您也对 VBA 解决方案持开放态度 - 我给您一个关于将部分文本加粗的最小示例

Sub MakeTextBold()
' Assume that the required text is in cell A1
    ActiveSheet.Range("A1").Select
' Assume that the text you want to make bold starts from
' position 6 in your cell and number of char to be bold = 2
    With ActiveCell.Characters(Start:=6, Length:=2).Font
     .FontStyle = "Bold"
    End With 
End Sub  

您可以在此示例的基础上进一步发展 - 作者

  1. 将范围更改为所需范围
  2. 找出指定开始位置和要加粗的字符长度等的方法