Укажите внешний вид границы в таблицах с помощью python-docx - PullRequest
0 голосов
/ 04 июня 2018

Я изучаю учебник и документацию по python-docx .

Однако я не могу найти никаких ссылок на то, как я могу указать и манипулировать внешним видом таблицы, созданной в документе Microsoft Word.

Когда я использую следующий код:

from docx import Document
from docx.shared import Inches

document = Document()

################################
################################
################################

table = document.add_table(rows=1, cols=3)
hdr_cells = table.rows[0].cells
hdr_cells[0].text = 'Qty'
hdr_cells[1].text = 'Id'
hdr_cells[2].text = 'Desc'

row_cells = table.add_row().cells
row_cells[0].text = 'Str0'
row_cells[1].text = 'Str1'
row_cells[2].text = 'Str2'

row2_cells = table.add_row().cells
row2_cells[0].text = 'Str00'
row2_cells[1].text = 'Str11'
row2_cells[2].text = 'Str22'

################################
################################
################################

document.save('demo.docx')

Полученный файл docx показывает таблицу 3x3 с заголовком.В настоящее время на этой таблице нет черной границы (внутренней или внешней).

Как указать верхнюю и нижнюю границу вокруг заголовка, нижнюю границу для обтекания таблицы, а также внутреннюю вертикальную границу?

Например:

enter image descpiption here

1 Ответ

0 голосов
/ 11 июня 2018

К сожалению, нет способа напрямую манипулировать границами таблицы из python-docx.Вам в основном нужно использовать стиль , который определяет их.Стиль должен уже существовать в Word.

Чтобы создать стиль таблицы по своему вкусу, необходимо вручную создать новый пустой документ в Word, настроитьодин из существующих стилей таблицы (например, Colorful Shading), и добавьте таблицу, используя этот измененный стиль.Затем вы удаляете эту таблицу и сохраняете файл (скажем, example.docx) на своем диске.Это необходимо для сохранения измененного стиля в документе.

Все, что вам нужно сделать, это загрузить файл с помощью python-docx и добавить новую таблицу, которая будет ссылаться на (измененный) стиль таблицы:

document = Document('example.docx')
table = document.add_table(rows=1, cols=3)
table.style = 'ColorfulShading'

См. Также Общие сведения о стилях в документации для получения подробной информации о том, как работают стили в Word.

...