python 操作word文件案例

基礎知識

安裝python-docx
pip install python-docx
文字大小 加粗 顏色
from docx import Document
from docx.oxml.ns import qn
from docx.shared import Pt, RGBColor

doc = Document()

doc = Document()
# 全局字體設置
doc.styles['Normal'].font.name = u'宋體'
doc.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋體')

title = doc.add_paragraph()
t1 = title.add_run('公司員工請假條')    # 內容
t1.font.bold = True                    # 加粗
t1.font.size = Pt(20)                  # 設置字體大小
t1.font.color.rgb = RGBColor(60,200,250)	#字體顏色

doc.save('666.docx')
首行縮進:
縮進方式 屬性
左邊縮進 left_indent
右邊縮進 right_indent
首航縮進 first_line_indent
from docx import Document
from docx.shared import Inches

doc = Document()

article = doc.add_paragraph()
a2 = article.add_run(
    '因______,特向您請事假____天。請假時間自_____年___月___日至_____年___月___日。這段時間內原計劃安排的課程已做好處理,希望領導批准。'
)
# 首行縮進2個字符
article2_format = article.paragraph_format
article2_format.first_line_indent = Inches(0.3)

doc.save('666.docx')
對齊方式:
名稱 屬性
左對齊 LEFT
居中 CENTER
右對齊 RIGHT
文本兩端對齊 JUSTIFY
from docx import Document
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT

doc = Document()

title = doc.add_paragraph()
t1 = title.add_run('公司員工請假條')     			# 內容
title.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER     # 居中

doc.save('666.docx')

讀取word

word文件:
在這裏插入圖片描述

代碼:

from docx import Document

doc = Document('文檔.docx')

print(doc.paragraphs)
# 段落數量
print(len(doc.paragraphs))

# 獲取段落文字 不帶格式
for paragraph in doc.paragraphs:
    print(paragraph.text)

# 文字塊:獲取第二段文字 帶格式
paragraph = doc.paragraphs[1]   #獲取第二段落
runs = paragraph.runs
for run in runs:
    print(run.text)

生成word

from docx import Document
from docx.shared import Cm

# 實例化
doc = Document()

# 標題
doc.add_heading("一級標題", level=1)

# 添加一個帶格式段落
paragraph1 = doc.add_paragraph()
paragraph1.add_run('加粗').bold = True
paragraph1.add_run('普通')
paragraph1.add_run('斜體').italic = True

# 添加圖片
doc.add_picture('tupian.jpg', width=Cm(5), height=Cm(10))

# 添加表格  doc.add_table(rows=行, cols=列)
# cells; 格子
records = [
    ['學號', '姓名', '成績'],
    ['101', '小紅', '98'],
    ['102', '小明', '95'],
    ['103', '小李', '100']
]
table = doc.add_table(rows=4, cols=3, style='Table Grid')
for row in range(4):
    cells = table.rows[row].cells
    for col in range(3):
        cells[col].text = str(records[row][col])

# 添加分頁
doc.add_page_break()

doc.save('測試.docx')

案例:請假條

在這裏插入圖片描述

from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx import Document
from docx.shared import Pt, Inches
from docx.oxml.ns import qn

doc = Document()
# 全局字體設置
doc.styles['Normal'].font.name = u'宋體'
doc.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋體')

# 1、標題
title = doc.add_paragraph()
title1 = title.add_run('公司員工請假條')    # 內容
title1.font.size = Pt(20)           # 設置字體大小
title1.bold = True                  # 加粗
title.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER     # 居中

# 2、正文
article1 = doc.add_paragraph()
a1 = article1.add_run('__________部:')

article2 = doc.add_paragraph()
a2 = article2.add_run(
    '因________________________________________,特向您請事假____天。請假時間自_____年___月___日至_____年___月___日。這段時間內原計劃安排的課程已做好處理,希望領導批准。'
)
# 首行縮進  負值表示懸掛縮進
article2_format = article2.paragraph_format
article2_format.first_line_indent = Inches(0.3)

article3 = doc.add_paragraph()
a3 = article3.add_run('請假人:')      # 內容
article3.alignment = WD_PARAGRAPH_ALIGNMENT.RIGHT
article3_format = article3.paragraph_format
article3_format.right_indent = Inches(0.9)

nowData = doc.add_paragraph()
n3 = nowData.add_run('年  月  日')      # 內容
nowData.alignment = WD_PARAGRAPH_ALIGNMENT.RIGHT
nowData_format = nowData.paragraph_format
nowData_format.right_indent = Inches(0.3)

# 這一步調整文件格式爲居中
doc.save('test.docx')
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章