Отключение строки заголовка в python-docx или установка первого столбца в качестве столбца заголовка - PullRequest
1 голос
/ 10 октября 2019

Я сгенерировал несколько таблиц с помощью python-docx, но у меня проблема в том, что некоторые таблицы поворачиваются == с заголовками в первом столбце вместо первой строки.

Есть ли возможность отменить проверку следующихвариант с python-docx или с прямым доступом к xml?

Microsoft Word settings

Ответы [ 2 ]

1 голос
/ 10 октября 2019

Эти параметры указывают, применяется ли соответствующая часть определения Стиль таблицы к таблице.

В Word Open XML они перечислены как атрибуты элемента w:tblLook. Строка заголовка является атрибутом w:firstRow. Это вкл / выкл |Значение true / false, поэтому для его отключения атрибут должен быть установлен на 0 (false).

Я не могу сказать вам, поддерживает ли python-docx это (Open XML SDK делает). Но эта информация позволит вам изменить ее в XML напрямую и, возможно, найти в справочнике по языку python-docx.

0 голосов
/ 14 октября 2019

Я нашел способ обойти то, что мне нужно. При создании можно получить прямой доступ к каждому абзацу в каждой ячейке и установить для него полужирный шрифт.

В этом примере первый столбец выделяется жирным шрифтом, а остальная часть таблицы остается нормальной:

table = document.add_table(rows=0, cols=len(data))
table.style = 'Table Grid'
row_cells = table.add_row().cells
# Some fake data
row_cells[0].text = data[0]
row_cells[1].text = data[1]
row_cells[2].text = data[2]
# ...
# This gets Heading Row 1 paragraph and sets it to bold
row_cells[0].paragraphs[0].runs[0].font.bold = True
...