python-docx設置表格對齊方式

2020-12-21 小梁學編程

在Word文檔中表格中對齊方式的設置可以分為表格的對齊方式和單元格的對齊方式,可以通過「開始」菜單欄中的「段落」中設置表格的對齊方式,可以通過「布局」菜單欄中的「對齊方式」中設置單元格的對齊方式。

表格對齊方式設置
單元格對齊方式設置

而在python-docx包中要使用table.alignment、cell.vertical_alignment和paragraph.alignment進行設置,筆者總結了python-docx包中表格和單元格等2種設置對齊方式,並在文章最後將文章主要內容製作了思維導圖。

01表格的對齊方式

在設置表格的對齊中,將表格作為一個整體,要用到table的alignment屬性。python-docx包定義了表格對齊的枚舉類型,存儲在docx.enum.table import WD_TABLE_ALIGNMENT中,共定義了LEFT、CENTER和RIGHT三個常量。含義如下

WD_TABLE_ALIGNMENT.LEFT :表格為左對齊WD_TABLE_ALIGNMENT.CENTER:表格為居中對齊WD_TABLE_ALIGNMENT.RIGHT:表格為右對齊本文以LFET為例說明表格對齊方式的設置過程,見代碼:

from docx import Document # 導入docxfrom docx.enum.table import WD_TABLE_ALIGNMENT # 導入表格對齊方式from docx.shared import Cm # 導入單位轉換函數document = Document() # 新建docx文檔table = document.add_table(3, 3) # 添加表格1table.alignment = WD_TABLE_ALIGNMENT.LEFT # 設置表格為右對齊for col in table.columns: # 表格1設置列寬為2cm,便於演示,與設置無關for cell in col.cells:cell.width = Cm(2)document.save('test.docx')表格的左對齊效果見下圖

表格左對齊效果圖

同理,將第6行代碼分別設置為居中和右對齊,見如下代碼,運行後表格的效果見下圖。

table.alignment = WD_TABLE_ALIGNMENT.CENTER # 設置表格為居中對齊table.alignment = WD_TABLE_ALIGNMENT.RIGHT # 設置表格為右對齊

表格居中對齊效果圖
表格右對齊效果圖

02單元格的對齊方式

在對單元格對齊方式設置的時候,將單元格視為一個整體,要使用單元格中的垂直對齊(cell.vertical_alignment)和單元格中的段落的對齊(paragraph.alignment)等2種對齊方式配合使用。在docx.enum.table .WD_ALIGN_VERTICAL定義了TOP、CENTER和BOTTOM等3種類型,含義如下:

WD_CELL_VERTICAL_ALIGNMENT.TOP:單元格內容靠上對齊WD_CELL_VERTICAL_ALIGNMENT.CENTER:單元格內容居中對齊WD_CELL_VERTICAL_ALIGNMENT.BOTTOM:單元格內容靠下對齊在WD_PARAGRAPH_ALIGNMENT中定義了4中類型,分別是LEFT、CENTER、RIGHT和JUSTIFY等4中類型,含義如下:

WD_PARAGRAPH_ALIGNMENT.LEFT:段落左對齊WD_PARAGRAPH_ALIGNMENT.CENTER:段落居中對齊WD_PARAGRAPH_ALIGNMENT.RIGHT:段落右對齊WD_PARAGRAPH_ALIGNMENT.JUSTIFY:段落兩端對齊關於段落的設置可以參考文章python-docx段落設置。在單元格垂直對齊和段落對齊的配合過程中可以組合成12種方式,分別是:靠上兩端對齊、靠上居中對齊、靠上右對齊、中部兩端對齊、中部居中對齊、中部右對齊、靠下兩端對齊、靠下居中對齊、靠下右對齊、靠上左對齊、中部左對齊、靠下左對齊。其中,在WORD軟體中內置了前9種對齊方式。這9種對齊方式的設置代碼如下:

from docx.enum.table import WD_CELL_VERTICAL_ALIGNMENT # 導入單元格垂直對齊from docx.enum.text import WD_PARAGRAPH_ALIGNMENT # 導入段落對齊document = Document()table = document.add_table(3, 3) # 添加表格1for row in table.rows: row.height = Cm(3) # 設置表格行高為3cm,便於演示,與設置對齊無關cell = table.cell(0,0)cell.text = "靠上兩端對齊"cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.TOPcell.paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.JUSTIFYcell = table.cell(0,1)cell.text = "靠上居中對齊"cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.TOPcell.paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTERcell = table.cell(0,2)cell.text = "靠上右對齊"cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.TOPcell.paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.RIGHTcell = table.cell(1,0)cell.text = "中部兩端對齊"cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.CENTERcell.paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.JUSTIFYcell = table.cell(1,1)cell.text = "中部居中對齊"cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.CENTERcell.paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTERcell = table.cell(1,2)cell.text = "中部右對齊"cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.CENTERcell.paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.RIGHTcell = table.cell(2,0)cell.text = "靠下兩端對齊"cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.BOTTOMcell.paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.JUSTIFYcell = table.cell(2,1)cell.text = "考下中部對齊"cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.BOTTOMcell.paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTERcell = table.cell(2,2)cell.text = "靠下右對齊"cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.BOTTOMcell.paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.RIGHT運行效果見下圖:

9種對齊方式與WORD軟體中對應圖

另外三種的設置可以參考上述代碼。

筆者總結了python-docx包中對表格和單元格的對齊方式,製作了思維導圖見下圖。希望對使用python-docx包設置docx表格對齊時提供參考。

相關焦點

  • python-docx設置圖片大小和對齊方式
    在WORD軟體中,圖片大小一般可以採用點擊圖片,在「格式」菜單中「大小」裡設置圖片的高度和寬度,也可以通過滑鼠右鍵菜單「大小」菜單調出設置圖片大小的界面,見下圖。而在python-docx包中主要使用inline_shape對象的height和width屬性設置,筆記將分圖像大小設置和圖片對齊方式設置等2個方面進行敘述並製作了思維導圖。
  • python-docx頁面設置
    筆者將詳細敘述使用python-docx包中對docx文檔頁面設置功能的實現,最後製作了思維導圖。頁面大小在python-docx包中要使用section.page_width和section.page_height屬性來實現頁面大小的讀取和設置。
  • python-docx添加和刪除表格行、列
    在布局菜單上刪除和添加表格行列而在python-docx包中怎麼實現表格行和列的添加和刪除?02表格行、列的定位在python-docx中表格中行或者列的定位主要通過table.rows和table.columns兩個屬性獲取行和列的的總對象,然後使用索引獲取指定的行或者列對象。
  • python-docx設置中文字體
    在python-docx包中對WORD文檔字體的設置要使用font類,只需要更改font.name屬性就可以了。然而,對於中文字體的設置遠不是這麼簡單。01一般情況下的字體設置代碼如下from docx
  • 表格中數據格式設置對齊方式與邊框底紋的設置—想像力電腦應用
    在前面的講解中,我們介紹了「word中快速應用表格樣式及表格樣式的修改」功能,現在我們講解「表格中數據格式設置對齊方式與排列方向的設置」。在對表格的操作過程中,如果能夠對表格中內容進行相應的設置,就可以讓表格更加整潔、美觀。設置表格中數據的格式主要包括設置表格文本對齊方式和改變文字排列方向。
  • 聊聊python 辦公自動化之 Word(中)
    基本信息我們同樣使用 python-docx 這個依賴庫來對 Word 文檔進行讀取。首先我們來讀取文檔的基本信息,它們分別是:章節、頁邊距、頁眉頁腳邊距、頁面寬高、頁面方向等。在獲取文檔基礎信息之前,我們通過文檔路徑構建一個文檔對象 Document。
  • Word如何設置表格的格式
    •表格與文本之間也能相互轉換?  •不會對表格中的數據進行計算?  •如何對表格中的數據進行排序?  Word如何設置表格的格式  插入表格後,要想表格更加賞心悅目,僅僅對表格內容設置字體格式是遠遠不夠的,還需要對其設置樣式、邊框或底紋等格式。
  • 家譜排版教程三:文字是輸入表格中的?錯!你在用一個假表格!
    告訴大家:這個頁面裡的文字,並不是直接輸入進家譜格格裡的,而是排在了一個文字框中,然後又粘在了表格的上面。換句話說,我們在上幾篇中做的這個表格,是個中看不中用的「假表格」!為什麼不在表格內直接輸入文字呢?不多說,試一下您就知道了。
  • Excel中文字對齊的6種方式
    Excel製作表格中,文字在單元格內對齊的方式,我們經常用到的有居中對齊、居右對齊、居左對齊,對過這些對齊方式,可以編輯出更易閱讀和美觀的表格,今天小編再分享6種關於文字對齊的技巧,也是工作中常用的,方便小夥伴們製作出更加精美的Excel表格。
  • Excel 2013中數據的對齊與邊框和底紋的設置——想像力電腦應用
    一、設置數據對齊方式Excel 2013工作表中,數據的垂直對齊方式包括頂端對齊、垂居居中、底端對齊;水平對齊方式包括文本左對齊、文本居中對齊、文本右對齊等。為了使數據更加規範,排版更美觀,可以為其選擇合適的對齊方式。
  • 這個技巧太好了,竟然可以使用Word表格快速對圖片進行排版對齊
    我們在日常工作中,為了使自己編輯的文檔具有客觀性,我們通常會採取圖文結合的方式編輯文檔,我們平時應該有體會,我們需要將圖片與文字對齊,卻發現圖片對齊有點麻煩,利用滑鼠拖動對齊比較困難,這次我們就要分享一個Word文檔圖片排版對齊的實用型技巧,利用Word表格輔助完成。
  • Python輕鬆實現PDF格式轉換(附詳細源碼)
    python-docx。from docx import Document打開PDF論文,並提取論文第2頁面內容。這裡所說的PDF轉Excel不是全文轉Excel,而是對論文中的部分表格進行格式轉換,方便在Excel中對數據進行篩選、計算等操作。本案例PDF論文中第69-75頁為附錄部分,貼的是財務報表數據,截取部分內容,長這樣:首先,安裝並導入操作Excel表格的庫openpyxl。
  • Excel電子表格單元格顏色有哪些?Python可以設置嗎?xlwt說可以
    #pythonExcel表格搬到Python界面上?可以實現!Python操作Excel電子表格?xlwt模塊重拳出擊,看這一篇就夠了!Excel中需要進行顏色設置的地方及字體顏色設置在進入xlwt的顏色世界之前,我們來了解下Excel中哪些地方需要進行顏色設置
  • 文職美女上班手動用Excel表格太麻煩,當學會python後easy操作
    通過程序操作excel表格是編程中比較常見的操作,python本身不能直接操作excel,需要安裝第三方的模塊來實現excel的操作。Python中可以操作excel模塊主要有:1、xlrd 模塊實現exlcel表格讀取2、xlwd 模塊實現excel表格創建和寫入3、pandas模塊也可以實現excel常規操作
  • 別再問我Python打包成exe了!(終極版)
    這篇的python代碼,作為案例來演示。將其中腳本py_word.py,待處理的表格文件workbook.xlsx,以及準備好的軟體圖標圖片chengzi.ico放在了我電腦的F:\py_word目錄下(如果大家感興趣的話,可以在文末下載獲取)
  • CSS基礎——文字對齊樣式
    文字對齊分為橫向對齊和縱向對齊,橫向對齊是指水平方向上,文字在給定的區域寬度(設置寬度的HTML元素,如div、table等元素)內採用的對齊方式,縱向對齊是指豎直方向上,文字在給定的區域高度(設置高度的HTML元素,如td、textarea等元素,不支持div元素)內採用的對齊方式。
  • Excel如何設置列印區域,只列印需要的表格
    今天小編分享一個簡單的設置列印區域的操作。我們在製作表格分析處理數據時,往往在表格之外錄入一些輔助數據(如下圖),當我們需要把表格列印出來匯報老闆時,這些輔助的數據是不希望老闆看到的,可以通過設置列印區域,只列印部分表格。
  • Word用快捷鍵結合滑鼠製作表格,並給表格設置樣式和背景圖片
    製作綜合性的表格操作步驟雖然相當多並且特別費時,但有助於鞏固所學的知識和提高製作表格的水平;在製作表格過程中,會反反覆覆的重複一些操作,這樣有助於我們記牢這些操作。下面我們以製作個人簡歷表為例,分享用快捷鍵結合滑鼠製作表格的方法。製作好表格後,接著介紹如何把文字插入到表格上方、給表格設置樣式和插入背景圖片。
  • Excel教師辦公小技巧:表格格式設置大全,你要找的全部在這裡
    經常使用Excel辦公的老師們都應該知道,它最基本的組成部分是單元格,然而這個基本部分的格式設置可不簡單。單元格格式在整理數據中佔用很重要位置,主要包括數字、對齊、字體、邊框、圖案、保護六種設置。每一種格式都有他獨特的效果,今天我們就來看一下如何設置這些格式以及這些格式都有什麼作用吧!首先我們先來看一下單元格格式設置對話框在表格的那個位置?一共有三種方法。其一,打開一個Excel表格,在【開始】菜單欄找到「單元格格式」功能區,點擊如圖所示紅色區域內的符號。
  • 認識HTML表格元素
    表格欄間距離(cellspacing)表格欄間距離是指表格欄與欄之間的距離,table標籤的cellspacing屬性用於設置表格欄之間的距離,cellspacing屬性的值可以是百分數或像素。在前面HTML文檔的table標籤添加cellspacing屬性,屬性的值為20像素。