python-docx設置表格對齊方式

2020-12-10 小梁學編程

在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自動化辦公(內容)
    操作pdf;python使用python-docx操作word;python使用python-pptx操作PPT;python如何自動收發郵件;python製作電話號碼歸屬地查詢工具;一:python1)Excel表格述語2)打開Excel表格並獲取表格名稱3)通過sheet名稱獲取表格4)獲取表格的尺寸大小5)獲取表格內某個格子的數據6)獲取某個格子的行數
  • 聊聊python 辦公自動化之 Word(中)
    基本信息我們同樣使用 python-docx 這個依賴庫來對 Word 文檔進行讀取。首先我們來讀取文檔的基本信息,它們分別是:章節、頁邊距、頁眉頁腳邊距、頁面寬高、頁面方向等。在獲取文檔基礎信息之前,我們通過文檔路徑構建一個文檔對象 Document。
  • Excel怎麼自動對齊表格同列中的文字
    如果在Excel表格中保存了一列姓名,因為姓名的字數不同,這一列中的文字會顯得參差不齊,使表格看起來不太美觀。這時如果手動輸入空格來對齊姓名文字,在姓名較多時會比較費時。這裡介紹一種在Excel中自動對齊同列文字的方法,供大家參考。
  • 七步製作令人刮目相看的電子表格
    如果對於你來講,設計這樣的電子表格已經信手拈來,說明你是這方面的行家裡手,請在評論區多提寶貴意見。Excel中的電子表格是由行和列組成的二維表格,包括有以下屬性:字體、字體顏色和大小、行高列寬、對齊方式、邊框樣式、背景顏色等。本文圍繞電子表格的這些屬性進行製作和設計。1. 選擇字體名稱和字號。
  • 如何開始寫你的第一個python腳本——簡單爬蟲入門!
    好多朋友在入門python的時候都是以爬蟲入手,而網絡爬蟲是近幾年比較流行的概念,特別是在大數據分析熱門起來以後,學習網絡爬蟲的人越來越多,哦對,現在叫數據挖掘了!其實,一般的爬蟲具有2個功能:取數據和存數據!好像說了句廢話。。。
  • Word已製作好的文檔,章節、圖片與表格自動編號如何設置
    ,一級標題「章」設置完畢。接著設置二級標題,單擊 2,單擊「將級別連結到樣式」下拉列表框,選擇「標題1」,其他的保持默認值,二級標題設置完畢。最後,設置三級標題,單擊 3,單擊「將級別連結到樣式」下拉列表框,選擇「標題2」,其他的也保持默認值,至此,設置完成。
  • word表格技巧:如何在表格中填充序號並能自動更新
    有朋友會說,這很簡單啊,在Excel表格中,只需在前兩行輸入1和2,然後選中1和2向下拖動即可快速完成序號的填充。但是,若在Word中製作這類表格,想要實現序號填充似乎就沒這麼簡單了,因為Word表格不能拖動填充。
  • 表格斜槓怎麼弄 然後兩邊打字?
    實際上,表格斜線是EXCEL經常用到的功能之一,學會後可以做出更加簡潔、漂亮的表格。比如我們想在下方姓名這個單元格裡「畫出」斜線,讓它和【學號】顯示在一個單元格中。第一步,滑鼠選中【姓名】單元格,然後右擊找到【設置單元格格式】選項。2.在彈出的對話框中找到【邊框】選項,在下方就可以看到「左斜線」和「右斜線」的設置按鈕了。
  • 怎麼製作三線表格?這樣操作真的超級簡單!
    三線表格,我們在學術論文或科學期刊上都會遇到。今天的內容先不說,我們來具體了解下三線表,三線表格一般是由表序、標題、表頭、頂線、表身和底線等構成,具體如下圖所示。這個三線表格該怎麼製作呢?下面我們就來學習在Word中製作三線表格的具體方法。
  • 詳解excel中的列印設置,快速列印出滿意的表格
    大家好,今天我們來學習Excel列印的設置,Excel列印的設置相對而言比較簡單只需要我們能記住每種功能的效果即可,第一章中我們已經知道知道Excel列印的設置是在頁面布局功能組下的頁面設置進行設置的但是還是建議大家在預覽窗口進行列印的設置
  • word文檔怎麼將表格文字居中
    word是經常使用的文字編輯工具,同時我們也可以在裡面對表格進行簡單的處理,下面筆者分享下在word中怎麼將表格以及文字進行居中處理。下面筆者以一個簡單的表格作為演示首先我們將滑鼠點擊這個表格,找到左上角的一個全選圖標接著我們點擊圖標,發現全部選上然後右擊選擇表格屬性在彈出的選項中選擇表格然後找到對齊方式,找到居中選擇確定以後我們發現表格居中表格裡面的文字,我們直接選擇需要設置文字的單元格然後在開始,段落下面找到居中選項直接點擊
  • Python利用openpyxl處理Excel文件(單元格及行列具體操作)
    刪除行(列)後,下(後)面的表格將自動上(前)移。(六)行列遍歷處理Excel表格有時(大多數)需要對表格進行遍歷查找,行列遍歷兩種方式:1.ws.max_row獲得表格的最大行數,取得遍歷次數,使用for循環遍歷for row in range(2, ws.max_row
  • Excel表格的基本操作,包含製作一個表格10方面的知識
    創建表格,插入與刪除一行一列或多行多行,一次移動一行一列或多行多列,拆分與合併單元格,單元格內換行,表格求和與求平均值是Excel表格的基本操作;除此之外,Excel表格的基本操作還包括調整行高列寬、單元格樣式設置、表格邊框與內部線條設置、給表格添加文字及格式設置等,涉及的內容特別多,既包括表格樣式設置又包括行列與單元格調整,還包括用公式計算。
  • Word自動化排版畫圖,Python還能這麼玩?
    Docx庫即為Python-docx包,這是一個很強大的包,可以用來創建docx文檔,包含段落、分頁符、表格、圖片、標題、樣式等幾乎所有的Word文檔中能常用的功能都包含了,這個包的主要功能便是用來創建文檔。
  • 開課吧:Python是什麼意思?為什麼有那麼多人學Python?
    python非常容易上手,而且能幹很多事情,WEB開發,機器學習人工智慧,數據分析,量化投資,爬蟲等,基本可以應用到各行各業,而且大家都在做基於PYTHON的庫,使得PYTHON語言變成一門直接拿來就能用的語言,更像一種工具了,比如機器學習,可能理論很複雜,但是實際在PYTHON中僅僅幾行代碼就能實現,不用花太多時間用在碼代碼上面,python 現在是越來越火
  • Excel表格製作出庫過磅單,詳細步驟講解,一起來製作吧!
    今天有點時間,教大家用Excel製作一個出庫過磅單吧,這是一個客人過來做第一個小表格,下節課咱們講用Word製作這個表格。那麼不熟悉Excel的可以看下節課的Word制表步驟。合併完成後,那麼1和2行的A-H列,分別就是一個整體的表格了,然後1行內單擊滑鼠,輸入表格「出庫過磅單」在2行內輸入註冊商標第三步、添加邊框線按下圖中滑鼠框選好3-7行A-H列全部選擇好,點擊上面選項卡②的位置邊框,下拉後點擊裡面③的位置所有框線,那麼選擇好的單元格就會被添加好邊框線
  • 表格換行按哪兩個鍵
    通常我們在Excel裡面會遇到表格換行按哪兩個鍵的問題。我們在excel製作表格時候常常需要換行,有網友就問到有沒有什麼快速換行方法呢?事實上的確是有的。工具/材料:Microsoft Office Excel2016版,baiExcel表格。1、首先選中Excel表格,雙擊打開。2.打開Excel後,在頁面中點中要換行的單元格,按下快捷鍵,ALT+回車,即可換行成功。
  • 12306火車票查詢--Python可以這麼玩!!!
    火車票查詢的平臺有很多,比如攜程、去哪兒,飛豬等等,但是萬變不離其宗,所有平臺的數據都需要從12306官網獲取,只是通過前端的渲染以不同的形式展現出來而已,本期通過分析12306官網網頁結構,利用python進行火車票信息查詢,並將信息格式化輸出、保存到本地Excel文件。
  • 電子表格內容顯示不全怎麼辦
    我們在用電子表格辦公時會遇到一種常見的情,當我們對電子表格列間距進行拉動調整時,當某一電子表格內的內容字符超過一定長度時後面部分字符就會被自動隱藏。出現電子表格內部分內容被隱藏時我們該怎麼辦呢?具體處理方法有兩種,即自動換行和縮小字體自動填充,用戶可根據行數多少進行自由選擇。
  • win10系統excel表格製作教程入門講解
    Excel是我們在工作生活中都會用到的一款辦公軟體,那麼win10系統下excel表格基礎製作方法是怎麼呢?接下來,我想就來給大家分享一下excel表格入門基礎製作教程。win10系統excel表格製作教程入門講解:1,表格名稱命名:打開excel表格,右鍵左下角的名稱選擇「重命名」,可以對表格進行名稱設置。