使用python將文字寫入word文檔中


pip  install python- docx
1.批量化往word文件中添加大批量重復的數據
from docx import Document
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.shared import Pt #磅數
from docx.oxml.ns import qn #中文格式

#以上是docx庫中需要用到的部分
import time
price = input('請輸入今日價格:')
company_list = ['客戶1','客戶2','客戶3','客戶4','客戶5','客戶6']
today1 = time.strftime("%Y-%m-%d",time.localtime())
today2 = time.strftime("%Y/%m/%d",time.localtime())
today = time.strftime("%Y{y}%m{m}%d{d}",time.localtime()).format(y='',m='',d='')

for i in company_list:
    document = Document()
    #設置文檔的基礎字體中文
    document.styles['Normal'].font.name = u'宋體'
    #設置文檔的基礎字體西文
    document.styles['Normal'].element.rPr.rFonts.set(qn('w:eastAsia'),u'宋體')

    # 初始化建立第一個自然段
    pl = document.add_paragraph()
    #對齊方式為居中,沒有這句話默認左對齊
    pl.alignment = WD_ALIGN_PARAGRAPH.CENTER
    run1 = pl.add_run('關於下達%s產品價格的通知'%(today))
    run1.font.name = '微軟雅黑'
    run1.element.rPr.rFonts.set(qn('w:eastAsia'),u'微軟雅黑')
    run1.font.size = Pt(21)
    #是否加粗
    run1.font.bold = True
    #前后距離5磅
    pl.space_before = Pt(5)
    pl.space_after = Pt(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("  根據公司安排,為提供優質客戶服務,我單位擬定了今日黃金價格為%s元,特此通知."%price)
    # 對客戶的稱呼
    run3.font.name = '仿宋_GB2312'
    run3.element.rPr.rFonts.set(qn('w:eastAsia'), u'仿宋_GB2312')
    run3.font.size = Pt(16)
    # 是否加粗
    run3.font.bold = True

    # 初始化建立第四個自然段
    p4 = document.add_paragraph()
    # 對齊方式為居中,沒有這句話默認左對齊
    p4.alignment = WD_ALIGN_PARAGRAPH.CENTER
    run4 = p4.add_run("(      聯系人:小楊  電話:18888888888)")
    # 對客戶的稱呼
    run4.font.name = '仿宋_GB2312'
    run4.element.rPr.rFonts.set(qn('w:eastAsia'), u'仿宋_GB2312')
    run4.font.size = Pt(16)
    # 是否加粗
    run4.font.bold = True
    document.save('%s-價格通知.docx'% i)

2.添加圖片

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
price = input('請輸入今日價格:')
company_list = ['客戶1','客戶2','客戶3','客戶4','客戶5','客戶6']

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

for i in company_list:
    document = Document()
    # 設置文檔的基礎字體中文
    document.styles['Normal'].font.name = u'宋體'
    # 設置文檔的基礎樣式
    document.styles['Normal'].element.rPr.rFonts.set(qn('w:eastAsia'), u'宋體')

    document.add_picture('banner.jpg',width=Inches(6))
    # 初始化建立第一個自然段
    pl = document.add_paragraph()
    # 對齊方式為居中,沒有這句話默認左對齊
    pl.alignment = WD_ALIGN_PARAGRAPH.CENTER
    run1 = pl.add_run('關於下達%s產品價格的通知' % (today))
    run1.font.name = '微軟雅黑'
    run1.element.rPr.rFonts.set(qn('w:eastAsia'), u'微軟雅黑')
    run1.font.size = Pt(21)
    # 是否加粗
    run1.font.bold = True
    # 前后距離5磅
    pl.space_before = Pt(5)
    pl.space_after = Pt(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("  根據公司安排,為提供優質客戶服務,我單位擬定了今日黃金價格為%s元,特此通知." % price)
    # 對客戶的稱呼
    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_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'
    run4.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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM