• 使用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)
  • 相关阅读:
    数据库路由中间件MyCat
    数据库路由中间件MyCat
    数据库路由中间件MyCat
    数据库路由中间件MyCat
    数据库路由中间件MyCat
    数据库路由中间件MyCat
    数据库路由中间件MyCat
    云架构师进阶攻略(3)
    PAT 1059. C语言竞赛
    PAT 1058. 选择题
  • 原文地址:https://www.cnblogs.com/sunflying/p/13382950.html
Copyright © 2020-2023  润新知