天天看點

word文檔處理

from docx import Document
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.shared import Pt  # 磅數
from docx.oxml.ns import qn  # 中文格式
from docx.shared import Inches  # 圖檔尺寸
# 以上是docx庫中需要用到的部分

import time
today = time.strftime("%Y{y}%m{m}%d{d}", time.localtime()).format(y='年', m='月', d='日')

price = input('請輸入今日價格:')
company_list = ['客戶1', '客戶2', '客戶3', '客戶4', '客戶5', '客戶6', '客戶7', '客戶8', '客戶9', '客戶10']


for i in company_list:
    document = Document()

    document.styles['Normal'].font.name = u'微軟雅黑'
    document.styles['Normal'].font.size = Pt(14)
    # 設定文檔的基礎字型
    document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'微軟雅黑')
    # 設定文檔的基礎樣式

    document.add_picture('banner.jpg', width=Inches(6))
    # 在檔案最上頭插入圖檔作為檔案紅頭,寬度為6英寸

    p1 = document.add_paragraph()
    # 初始化建立第一個自然段
    p1.alignment = WD_ALIGN_PARAGRAPH.CENTER
    # 對齊方式為居中,沒有這句的話預設左對齊。
    run1 = p1.add_run('關于下達%s産品價格的通知' % (today))
    # 這裡是第一段的内容
    run1.font.name = '微軟雅黑'
    # 設定西文字型
    run1._element.rPr.rFonts.set(qn('w:eastAsia'), u'微軟雅黑')
    # 設定中文字型
    run1.font.size = Pt(21)
    # 設定字型大小為21磅
    run1.font.bold = True
    # 設定加粗
    p1.space_after = Pt(5)
    # 段後距離5磅
    p1.space_before = Pt(5)
    # 段前距離5磅

    p2 = document.add_paragraph()
    run2 = p2.add_run(i + ':')
    # 這裡是對客戶的稱呼
    run2.font.name = '仿宋_GB2312'
    run2._element.rPr.rFonts.set(qn('w:eastAsia'), u'仿宋_GB2312')
    run2.font.size = Pt(16)
    run2.font.bold = True

    p3 = document.add_paragraph()
    run3 = p3.add_run('    根據公司安排,為提供優質客戶服務,我機關現将價格通知如下。')
    run3.font.name = '仿宋_GB2312'
    run3._element.rPr.rFonts.set(qn('w:eastAsia'), u'仿宋_GB2312')
    run3.font.size = Pt(16)
    run3.font.bold = True

    table = document.add_table(rows=3, cols=3, style='Table Grid')

    table.cell(0, 0).merge(table.cell(0, 2))
    table_run1 = table.cell(0, 0).paragraphs[0].add_run('XX産品報價表')
    table.cell(0, 0).paragraphs[0].alignment = WD_ALIGN_PARAGRAPH.CENTER
    table_run1.font.name = u'隸書'
    table_run1._element.rPr.rFonts.set(qn('w:eastAsia'), u'隸書')

    table.cell(1, 0).text = '日期'
    table.cell(1, 1).text = '價格'
    table.cell(1, 2).text = '備注'
    table.cell(2, 0).text = today
    table.cell(2, 1).text = str(price)
    table.cell(2, 2).text = ''

    p4 = document.add_paragraph()
    p4.alignment = WD_ALIGN_PARAGRAPH.CENTER
    run4 = p4.add_run('(聯系人:小楊    電話:18888888888)')
    run4.font.name = '仿宋_GB2312'
    document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'仿宋_GB2312')
    run4.font.size = Pt(16)
    run4.font.bold = True

    document.add_page_break()
    p5 = document.add_paragraph()
    run4 = p5.add_run('此處是廣告')

    document.save('%s-價格通知.docx' % i)
    # 以“客戶名-價格通知”作為檔案名儲存