2014-11-15 3 views
1

방금 ​​python-docx를 사용하기 시작했으며 내 테이블의 내용을 가운데 맞추려고합니다. 내가 가진 : 헤더 test 텍스트 example있는 테이블을 출력python-docx 센터 테이블 내용

table = document.add_table(rows=1, cols=1) 
tableHeader = table.rows[0].cells 
tableHeader[0].text = 'test' 
row_cells = table.add_row().cells 
row_cells[0].text = 'example' 
table.style = 'MediumGrid3' 

합니다.

나는 table.alignment = 1이 효과가있을 것이라고 생각했지만 아무것도하지 않습니다.

그래서 모든 텍스트를 가운데에 정렬합니까?

답변

1

묻는 설정은 아직 python-docx에서 지원되지 않습니다.

"feature : Table.alignment"라는 제목의 문제를 GitHub 문제 목록에 추가하면이를 백 로그에 추가합니다. https://github.com/python-openxml/python-docx/issues

아직 그것을 건너하지 않은 경우, 당신은 여기 파이썬 - DOCX에 대한 문서를 찾을 수 있습니다 http://python-docx.readthedocs.org/en/latest/

+0

감사합니다, 나는 문서를 읽었지 만 테이블 센터링과 관련이 없으므로 여기에서 질문했습니다. – downloader

2

다음 표 셀을 수직 정렬 방법은 다음과 같습니다

import traceback 
from docx.oxml.shared import OxmlElement, qn 

def set_cell_vertical_alignment(cell, align="center"): 
    try: 
     tc = cell._tc 
     tcPr = tc.get_or_add_tcPr() 
     tcValign = OxmlElement('w:vAlign') 
     tcValign.set(qn('w:val'), align) 
     tcPr.append(tcValign) 
     return True 
    except: 
     traceback.print_exc()    
     return False