Cell alignment in python-docx
Я использую библиотеку docx.
Мне нужно изменить свойство alignment в ячейках таблицы в конкретной строке.
Я делаю это так:
currentRow = table.rows[rowIndex]
cells = currentRow.cells
for cell in cells:
cell.paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER # https://stackoverflow.com/questions/42736364/docx-center-text-in-table-cells
# Изменение цвета этих ячеек работает.
shading_elm_1 = parse_xml(r'<w:shd {} w:fill="878787"/>'.format(nsdecls('w')))
cell._tc.get_or_add_tcPr().append(shading_elm_1)
Это не работает.
Я пробовал все значения из WD_PARAGRAPH_ALIGNMENT, но в самой таблице ничего не менялось.
При выводе значения свойства alignment в консоле, получаем что оно действительно меняется.
Не понятно, почему это никак не влияет на внешний вид ячеек.
Ответы (1 шт):
Автор решения: haskiindahouse
→ Ссылка
Оказывается, мой вопрос некорректен.
Если вы работаете с ячейками таблицы, то сначала задавайте им text, а только потом меняется свойство alignment. Думаю когда мы делаем наоборот, то присваивание текста ячейки сбивает alignment.
cell.text = "yourText"
cell.paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER