중간 중간 함수 내용이 궁금하면
https://github.com/python-openxml/python-docx
여기로 들어가면 된다.
표 만들기(add_table())
표를 만들기 위해 우선 add_table함수를 통해 행렬의 갯수를 입력한다.
표 스타일은 기본인 'Table Grid'로 뒀다.
이후 셀에 가운데 정렬로 알파벳을 순서대로 입력한 예제이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | from docx import Document document = Document() table = document.add_table(rows = 1, cols = 4) table.style = document.styles['Table Grid'] hdr_cells = table.rows[0].cells hdr_cells[0].paragraphs[0].add_run('A').bold = True hdr_cells[0].paragraphs[0].alignment = WD_ALIGN_PARAGRAPH.CENTER #가운데 정렬 hdr_cells[1].paragraphs[0].add_run('B').bold = True hdr_cells[1].paragraphs[0].alignment = WD_ALIGN_PARAGRAPH.CENTER hdr_cells[2].paragraphs[0].add_run('C').bold = True hdr_cells[2].paragraphs[0].alignment = WD_ALIGN_PARAGRAPH.CENTER | cs |
셀 크기 조절하기(cells[0].width)
만든 표의 셀 크기도 조절 가능하다.
1 | hdr_cells[0].width = Cm(2.9) hdr_cells[0].height = Cm(2.9) | cs |
셀 추가하기(table.add_row())
표를 만든 후 추가적으로 셀을 삽입 할 때 사용
셀을 추가한 후에는 테이블 사용과 동일하다.
1 2 3 4 5 6 7 | row_cells = table.add_row().cells row_cells[0].paragraphs[0].add_run('A').bold = True row_cells[0].paragraphs[0].alignment = WD_ALIGN_PARAGRAPH.CENTER row_cells[1].paragraphs[0].add_run('B').bold = True row_cells[1].paragraphs[0].alignment = WD_ALIGN_PARAGRAPH.CENTER row_cells[2].paragraphs[0].add_run('C').bold = True row_cells[2].paragraphs[0].alignment = WD_ALIGN_PARAGRAPH.CENTER | cs |
셀 배경색 넣기
셀에 배경색을 넣는 함수는 따로 없기 때문에 직접 xml을 건드려 바꿔준다.
w:fill="BFBFBF" 에서 원하는 색상을 RGB값 16진수로 입력하면 된다.
table.rows[0].cells[0] 자리에 원하는 셀을 입력하면 된다.
1 2 3 4 | from docx.oxml import parse_xml shading_elm = parse_xml(r'<w:shd {} w:fill="BFBFBF"/>'.format(nsdecls('w'))) #음영 table.rows[0].cells[0]._tc.get_or_add_tcPr().append(shading_elm) | cs |
셀 병합(merge())
표 제작의 마지막으로 병합을 해보자
병합은 두 셀 값을 받아 사각형 모양으로 병합이 된다.
1 2 3 | t_sum_a = table.cell(1, 0) t_sum_b = table.cell(2, 0) t_sum_a.merge(t_sum_b) | cs |
다음 글에선 스타일 변경 및 생성에 대해 포스팅 하겠다.
'파이썬 > Python-docx을 이용한 워드 문서 자동 생성' 카테고리의 다른 글
Python-docx을 이용한 워드 문서 자동 생성 - 3. 스타일 변경, Head (0) | 2019.01.18 |
---|---|
Python-docx을 이용한 워드 문서 자동 생성 - 1. 본문 작성 및 이미지 입력 (0) | 2019.01.18 |
Python-docx을 이용한 워드 문서 자동 생성 (0) | 2019.01.18 |