2017-07-02 118 views
1

在python-docx的表格中工作。我正在嘗試將不同的樣式應用於表格的第一行與其餘行。這將是標題行。這裏的表:python-docx如何將不同的樣式應用於表格中的不同單元格

table2 = doc.add_table(rows=10, cols=3) 
heading_cells_table2 = table2.rows[0].cells 
heading_cells_table2[0].text = 'Header 1' 
heading_cells_table2[1].text = 'Header 2' 
heading_cells_table2[2].text = 'Header 3' 

我希望我可以做這樣的事情:

table2.rows[0].style = table_heading_style 

我試過很多其他的變化和.add_run(),.cells,.font的組合,.text等沒有運氣。

是否可以更改表格中單個單元格/行/列的格式?如果是這樣,它是如何完成的?

感謝您的幫助。

編輯

爲了回答這個問題的一個具體的例子,這裏就是我結束了圍繞進2出的3列文本在表格中,由於scanny的幫助。

for column in itertools.islice(table2.columns, 1, 3): 
    for cell in column.cells: 
     for paragraph in cell.paragraphs: 
      paragraph.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER 

回答

1

段落樣式只能應用於段落。

for paragraph in cell.paragraphs: 
    paragraph.style = document.styles['Heading 1'] 
+0

沒有關注。每個段落是一個單元格內的有序列表?讓我們用一個簡單的例子。說我有一個表格式,所有段落都是BOLD臉。說有一個單元格,我希望該段落是ITALICS。那可能嗎? –

+0

單元格包含段落中的段落序列。每個段落都有一個可選的樣式。要將樣式應用於單元格中的段落,必須對每個段落單獨應用段落樣式。請注意,樣式意味着在Word文檔的上下文中特定的東西。像粗體或斜體這樣的單獨字符格式屬性是在運行級應用的。這裏有更多的樣式和python-pptx:http://python-docx.readthedocs.io/en/latest/user/styles-understanding.html – scanny

+1

沒問題。像任何其他列表一樣訪問單元格中的每個單獨的段落。再次感謝你的幫助。只有7個重點要去,我可以投票。敢於夢想! –

相關問題