Python python-docx – 在本文中,透過python-docx功能速查表, 我將向你展示在Python程式上運用word的方法.
* 安裝 python-docx: | |
1) Python 2.x | pip install python-docx |
2) Python 3.x | pip3 install python-docx |
a) 導入庫 | from docx import Document from docx.shared import Cm, Pt, Inches from docx.shared import RGBColor from docx.oxml.ns import qn from docx.enum.text import WD_ALIGN_PARAGRAPH |
b) 文檔 | |
1) 新建空白文檔 | doc1 = Document() |
2) 開啓文檔 | doc1 = Document(‘巳存在的文檔.docx’) |
c) 文檔標題 | |
1) 新增文檔標題 | header = doc1.add_heading(‘docx的使用方法’,0) |
2) 創建段落描述 | doc1.add_paragraph(‘ python-docx 是一個用於創建和更新 Microsoft Word (.docx) 文件的 Python 庫。‘) |
3) 建立run是用來設定Style的 | run = paragraph.add_run(‘run是用來設定Style的’) |
4) 設置文字大小 | run.font.size = Pt(20) |
5) 設置字體 | run.font.name = ‘標楷體’ |
6) 設置斜體 | run.italic = True |
7) 設置粗體 | run.bold = True |
8) 設置底線 | run.underline = True |
9) 設置文字顏色 | run.font.color.rgb = RGBColor(0x00, 0x00, 0x00) |
d) 增加分頁 | doc1.add_page_break() |
e) 增加符號列表 | |
1) 新增文檔標題 | doc1.add_paragraph(‘用戶指南:’) |
2) 增加符號列表 | doc1.add_paragraph(‘安裝’, style=’List Bullet’) doc1.add_paragraph(‘快速開始’, style=’List Bullet’) doc1.add_paragraph(‘處理文檔’, style=’List Bullet’) doc1.add_paragraph(‘處理文本’, style=’List Bullet’) |
f) 增加符號列表 | |
1) 新增文檔標題 | doc1.add_paragraph(‘用戶指南:’) |
2) 增加符號列表 | doc1.add_paragraph(‘安裝’, style=’List Number’) doc1.add_paragraph(‘快速開始’, style=’List Number’) doc1.add_paragraph(‘處理文檔’, style=’List Number’) doc1.add_paragraph(‘處理文本’, style=’List Number’) |
g) 增加圖片 | |
1) 新增文檔標題 | doc1.add_ paragraph(‘示範圖:’) |
2) 增加圖片 | doc.add_picture(“view.jpg”, width= Inches(60)) |
h) 增加表格 | |
1) 新增文檔標題 | doc1.add_ paragraph(‘表格:’) |
2) 增加表格 | tbl1 = doc2.add_table(rows=1, cols=3) |
3) 增加表格標題 | headerRow = tbl1.rows[0].cells headerRow [0].text = ‘姓名’ headerRow [1].text = ‘電話’ |
4) 把List的資料加入 | for name, tel in lstRec: row_cells = table.add_row().cells row_cells[0].text = name row_cells[1].text = tel |
i) 轉換文件中所有的標題文字大小 | for header in doc.paragraphs: if header.style.name.startswith(‘Heading’): header.add_run(”) .font.size = Cm(20) |
j) 調整紙張 | |
1) 簡化至variable | section = doc1.sections[0] |
1) 調整大小 | section.page_width = Cm(60) section.page_height= Cm(180) |
2) 調整邊界 | section.top_margin=Pt(40) section.bottom_margin=Pt(40) section.left_margin=Pt(20) section.right_margin=Pt(20) |
3) 打直或打橫 | section.orientation = WD_ORIENT.LANDSCAPE |
k) 存儲文檔 | doc1.save(‘新的文檔.docx’) |
l) 讀取文檔 | |
1) 讀取文檔 | Doc2 = docx.Document(‘新的文檔.docx’) |
2) 續段續段內容打印方法一 | for cell in doc1.paragraphs: print(cell) |
3) 續段續段內容打印方法二 | lstCelltxt = [ cell.text for cell in doc1.paragraphs] for cellTxt in lstCelltxt: print(cellTxt) |
4) 續格續格內容打印表格方法 | for tbl in doc1.tables: for row in tbl.rows: for cell in row.cells: print (cell.text) |