教你用Python操作Word文檔自動化辦公

最近工作中,需要將查詢的一段時間的數據可視化,並導出為word格式。由於對word操作不熟悉,查閱了一下相關文檔,這裡簡要記錄一下如何使用python操作word。

這裡還是提醒下,很多人學Python過程中會遇到各種煩惱問題,沒有人解答容易放棄。為此我建了個python學習資源圈裡面有最新學習資料,如果你想學或者正在學python,可以關注我,後臺私信我 ‘p’ 免費獲取!還有老司機解答哦

說明

  • 本代碼來源於官方文檔(https://python-docx.readthedocs.io/en/latest/),這裡對代碼做了一些註釋。
  • 該代碼記錄了對word的常見操作:
    1.添加標題
    2.添加段落
    3.為段落文字設置樣式
    4.插入圖片
    5.添加表格,並輸入內容
    6.添加分頁

效果圖

教你用Python操作Word文檔自動化辦公

文檔

代碼

<code># coding:utf-8

"""
python 操作word
"""

from docx import Document
from docx.shared import Inches

# 創建word文檔對象
document = Document()
# 添加標題
document.add_heading('Document Title', 0)

# 添加段落
p = document.add_paragraph('A plain paragraph having some ')

# 添加段落文字,並指定樣式:這裡設置文字為加粗
p.add_run('bold').bold = True

# 添加段落文字
p.add_run(' and some ')

# 添加段落文字,並指定樣式:設置文字為斜體
p.add_run('italic.').italic = True

# 添加一級標題
document.add_heading('Heading, level 1', level=1)

# 添加段落,並設置段落樣式
document.add_paragraph('Intense quote', style='Intense Quote')

document.add_paragraph(
'first item in unordered list', style='List Bullet' # 樣式為一個小圓點
)
document.add_paragraph(

'first item in ordered list', style='List Number' # 樣式為數字
)

# 插入圖片:Inches表示以英寸作為圖片的單位
document.add_picture('pic.jpg', width=Inches(3.0))

records = (
(3, '101', 'Spam'),
(7, '422', 'Eggs'),
(4, '631', 'Spam, spam, eggs, and spam')
)

# 創建一行三列的表格
table = document.add_table(rows=1, cols=3)
# 獲取第一行的所有列數
hdr_cells = table.rows[0].cells

# 給第一行的各個列添加內容
hdr_cells[0].text = 'Qty'
hdr_cells[1].text = 'Id'
hdr_cells[2].text = 'Desc'

# 給table表格添加新行,並給各列添加內容
for qty, id, desc in records:
row_cells = table.add_row().cells
row_cells[0].text = str(qty)
row_cells[1].text = id
row_cells[2].text = desc

# 添加分頁
document.add_page_break()

# 保存world文檔
document.save('demo.docx')

if __name__ == "__main__":
pass

/<code>

喜歡點個贊!順便提醒下,很多人學Python過程中會遇到各種煩惱問題,沒有人解答容易放棄。為此我建了個python學習資源圈裡面有最新學習資料,如果你想學或者正在學python,可以關注我,後臺私信我 ‘p’ 免費獲取!還有老司機解答哦

本文的文字及圖片來源於網絡加上自己的想法,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。


分享到:


相關文章: