在Word中,表格是一個強大的工具,它可以幫助你更好地組織、呈現和分析資訊。本文將介紹如何使用Python在Word中建立表格並填入資料、圖片,以及設定表格樣式等。
Python Word庫:
要使用Python在Word中建立或操作表格,需要先將Spire.Doc for Python這個第三方庫安裝到專案中.
pip install Spire.Doc
示例程式碼1:使用Python在Word中建立表格並填充資料
import math from spire.doc import * from spire.doc.common import * # 建立Document物件 doc = Document() # 新增一節 section = doc.AddSection() # 建立一個表格 table = section.AddTable() # 指定表格資料 header_data = ["商品名稱", "單位", "數量", "單價"] row_data = [ ["底板-1","件","20946","2.9"], ["定位板-2","張","38931","1.5"], ["整平模具-3","組","32478","1.1"], ["後殼FD1042-4","組","21162","0.6"], ["棍子-5","組","66517","1.2"]] # 設定表格的行數和列數 table.ResetCells(len(row_data) + 1, len(header_data)) # 設定表格自適應視窗 table.AutoFit(AutoFitBehaviorType.AutoFitToWindow) # 設定標題行 headerRow = table.Rows[0] headerRow.IsHeader = True headerRow.Height = 23 headerRow.RowFormat.BackColor = Color.get_Orange() # 在標題行填充資料並設定文字格式 i = 0 while i < len(header_data): headerRow.Cells[i].CellFormat.VerticalAlignment = VerticalAlignment.Middle paragraph = headerRow.Cells[i].AddParagraph() paragraph.Format.HorizontalAlignment = HorizontalAlignment.Center txtRange = paragraph.AppendText(header_data[i]) txtRange.CharacterFormat.Bold = True txtRange.CharacterFormat.FontSize = 12 i += 1 # 將資料填入其餘各行並設定文字格式 r = 0 while r < len(row_data): dataRow = table.Rows[r + 1] dataRow.Height = 20 dataRow.HeightType = TableRowHeightType.Exactly c = 0 while c < len(row_data[r]): dataRow.Cells[c].CellFormat.VerticalAlignment = VerticalAlignment.Middle paragraph = dataRow.Cells[c].AddParagraph() paragraph.Format.HorizontalAlignment = HorizontalAlignment.Center txtRange = paragraph.AppendText(row_data[r][c]) txtRange.CharacterFormat.FontSize = 11 c += 1 r += 1 # 設定交替行顏色 for j in range(1, table.Rows.Count): if math.fmod(j, 2) == 0: row2 = table.Rows[j] for f in range(row2.Cells.Count): row2.Cells[f].CellFormat.BackColor = Color.get_LightGray() # 儲存檔案 doc.SaveToFile("Word表格.docx", FileFormat.Docx2016)
以下示例透過Section.AddTable() 方法在Word文件中新增了一個表格,然後將列表中的資料填充到了指定的單元格。此外Spire.Doc for Python庫還提供了介面設定單元格樣式等。
輸出結果:
程式碼示例2:使用Python在Word表格中插入圖片
from spire.doc import * from spire.doc.common import * inputFile = "表格示例.docx" outputFile = "插入圖片到表格.docx" # 建立Document物件 doc = Document() # 載入Word文件 doc.LoadFromFile(inputFile) # 獲取文件中第一個表格 table = doc.Sections[0].Tables[0] # 將圖片新增到指定單元格並設定圖片大小 cell = table.Rows[1].Cells[1] picture = cell.Paragraphs[0].AppendPicture("python.png") picture.Width = 80 picture.Height = 80 cell = table.Rows[2].Cells[1] picture = cell.Paragraphs[0].AppendPicture("java.jpg") picture.Width = 80 picture.Height = 80 # 儲存結果檔案 doc.SaveToFile(outputFile, FileFormat.Docx) doc.Close()
從以上程式碼可以看出,要在Word表格中插入圖片,需要先獲取指定的單元格,然後使用TableCell.Paragraphs[index].AppendPicture() 方法插入圖片。
輸出結果:
Spire.Doc for Python庫還支援對Word中的表格進行其他操作,如新增、刪除、複製行或列、合併或拆分單元格等。更多示例demo可檢視:
https://www.e-iceblue.cn/docforpython/spire-doc-for-python-program-guide-content.html
對於水印問題,可以點選申請臨時授權移除,或者傳送郵件到sales@e-iceblue.com。