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

时间:2018-04-03 09:07:33

标签: python excel openpyxl

我想打印一张Excel工作表,其中我有一个包含大量文本的列。在本文的内部,我想以粗体突出显示一些具体的单词?

[' B1'] =文字文字文字文字文字文字文字粗体文字文字文字

直到现在我才找到改变孔洞的方法' B1'到另一种格式。有人知道如何用另一种方式突出单个单词吗?例如另一种颜色,斜体或换行符?

谢谢! :)

2 个答案:

答案 0 :(得分:2)

这是在openpyxl中添加 富文本 支持的情况,由于此Q&A中解释的复杂性问题而暂停了一段时间官方openpyxl邮件列表。

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

答案 1 :(得分:0)

好的,既然您对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. 找出指定开始位置和粗体等字符长度的方法等。