Man*_*kur 4 python python-docx
我正在使用 python docx 模块生成文档。我想将 python docx 中一行的特定单元格加粗
这是代码
book_title = '\n-:\n {}\n\n'.format(book_title)
book_desc = '-: {}\n\n:\n{}\n\n :\n{}'.format(book.author,book_description,sales_point)
row1.cells[1].text = (book_title + book_desc)
Run Code Online (Sandbox Code Playgroud)
我只想将 book_title 加粗。如果我应用一种样式,它会自动应用于整个文档。
单元格没有字符样式;字符样式只能应用于文本,特别是连续的文本。这实际上是运行的定义特征,是共享相同字符格式的字符序列,也称为.python-docx
要使书名的字体与描述的字体不同,它们需要出现在单独的运行中。分配给Cell.text(如您所拥有的)会导致所有文本都在一次运行中。
这可能对您有用,但假设单元格在您开始时为空:
paragraph = row1.cells[1].paragraphs[0]
title_run = paragraph.add_run(book_title)
description_run = paragraph.add_run(book_desc)
title_run.bold = True
Run Code Online (Sandbox Code Playgroud)
这段代码可以变得更紧凑:
paragraph = row1.cells[1].paragraphs[0]
paragraph.add_run(book_title).bold = True
paragraph.add_run(book_desc)
Run Code Online (Sandbox Code Playgroud)
但也许前一个版本更清楚地说明了您在每一步中所做的事情。