如何基于python把文字圖片寫(xiě)入word文檔
安裝代碼
pip install python-docx
1.批量化往word文件中添加大批量重復(fù)的數(shù)據(jù)
from docx import Documentfrom docx.enum.text import WD_ALIGN_PARAGRAPHfrom docx.shared import Pt #磅數(shù)from docx.oxml.ns import qn #中文格式#以上是docx庫(kù)中需要用到的部分import timeprice = input(’請(qǐng)輸入今日價(jià)格:’)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}%dwyw2q2k',time.localtime()).format(y=’年’,m=’月’,d=’日’)for i in company_list: document = Document() #設(shè)置文檔的基礎(chǔ)字體中文 document.styles[’Normal’].font.name = u’宋體’ #設(shè)置文檔的基礎(chǔ)字體西文 document.styles[’Normal’].element.rPr.rFonts.set(qn(’w:eastAsia’),u’宋體’) # 初始化建立第一個(gè)自然段 pl = document.add_paragraph() #對(duì)齊方式為居中,沒(méi)有這句話默認(rèn)左對(duì)齊 pl.alignment = WD_ALIGN_PARAGRAPH.CENTER run1 = pl.add_run(’關(guān)于下達(dá)%s產(chǎn)品價(jià)格的通知’%(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) # 初始化建立第二個(gè)自然段 p2 = document.add_paragraph() run2 = p2.add_run(i+':') #對(duì)客戶的稱(chēng)呼 run2.font.name = ’仿宋_GB2312’ run2.element.rPr.rFonts.set(qn(’w:eastAsia’), u’仿宋_GB2312’) run2.font.size = Pt(16) # 是否加粗 run2.font.bold = True # 初始化建立第三個(gè)自然段 p3 = document.add_paragraph() run3 = p3.add_run(' 根據(jù)公司安排,為提供優(yōu)質(zhì)客戶服務(wù),我單位擬定了今日黃金價(jià)格為%s元,特此通知.'%price) # 對(duì)客戶的稱(chēng)呼 run3.font.name = ’仿宋_GB2312’ run3.element.rPr.rFonts.set(qn(’w:eastAsia’), u’仿宋_GB2312’) run3.font.size = Pt(16) # 是否加粗 run3.font.bold = True # 初始化建立第四個(gè)自然段 p4 = document.add_paragraph() # 對(duì)齊方式為居中,沒(méi)有這句話默認(rèn)左對(duì)齊 p4.alignment = WD_ALIGN_PARAGRAPH.CENTER run4 = p4.add_run('( 聯(lián)系人:小楊 電話:18888888888)') # 對(duì)客戶的稱(chēng)呼 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-價(jià)格通知.docx’% i)
2.添加圖片
from docx import Documentfrom docx.enum.text import WD_ALIGN_PARAGRAPHfrom docx.shared import Pt #磅數(shù)from docx.oxml.ns import qn #中文格式from docx.shared import Inches #圖片尺寸#以上是docx庫(kù)中需要用到的部分import timeprice = input(’請(qǐng)輸入今日價(jià)格:’)company_list = [’客戶1’,’客戶2’,’客戶3’,’客戶4’,’客戶5’,’客戶6’]today = time.strftime('%Y{y}%m{m}%dwyw2q2k',time.localtime()).format(y=’年’,m=’月’,d=’日’)for i in company_list: document = Document() # 設(shè)置文檔的基礎(chǔ)字體中文 document.styles[’Normal’].font.name = u’宋體’ # 設(shè)置文檔的基礎(chǔ)樣式 document.styles[’Normal’].element.rPr.rFonts.set(qn(’w:eastAsia’), u’宋體’) document.add_picture(’banner.jpg’,width=Inches(6)) # 初始化建立第一個(gè)自然段 pl = document.add_paragraph() # 對(duì)齊方式為居中,沒(méi)有這句話默認(rèn)左對(duì)齊 pl.alignment = WD_ALIGN_PARAGRAPH.CENTER run1 = pl.add_run(’關(guān)于下達(dá)%s產(chǎn)品價(jià)格的通知’ % (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) # 初始化建立第二個(gè)自然段 p2 = document.add_paragraph() run2 = p2.add_run(i + ':') # 對(duì)客戶的稱(chēng)呼 run2.font.name = ’仿宋_GB2312’ run2.element.rPr.rFonts.set(qn(’w:eastAsia’), u’仿宋_GB2312’) run2.font.size = Pt(16) # 是否加粗 run2.font.bold = True # 初始化建立第三個(gè)自然段 p3 = document.add_paragraph() run3 = p3.add_run(' 根據(jù)公司安排,為提供優(yōu)質(zhì)客戶服務(wù),我單位擬定了今日黃金價(jià)格為%s元,特此通知.' % price) # 對(duì)客戶的稱(chēng)呼 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產(chǎn)品報(bào)價(jià)表’) table_run1.font.name = u’隸書(shū)’ table_run1.element.rPr.rFonts.set(qn(’w:eastAsia’),u’隸書(shū)’) table.cell(1,0).text = ’日期’ table.cell(1, 1).text = ’價(jià)格’ table.cell(1, 2).text = ’備注’ table.cell(2, 0).text = today table.cell(2, 1).text = str(price) table.cell(2, 2).text = ’’ # 初始化建立第四個(gè)自然段 p4 = document.add_paragraph() # 對(duì)齊方式為居中,沒(méi)有這句話默認(rèn)左對(duì)齊 p4.alignment = WD_ALIGN_PARAGRAPH.CENTER run4 = p4.add_run('(聯(lián)系人:小楊 電話:18888888888)') # 對(duì)客戶的稱(chēng)呼 run4.font.name = ’仿宋_GB2312’ run4.element.rPr.rFonts.set(qn(’w:eastAsia’), u’仿宋_GB2312’) run4.font.size = Pt(16) # 是否加粗 run4.font.bold = True #插入分頁(yè)符 document.add_page_break() p5 = document.add_paragraph() run4 = p5.add_run(’此處是廣告’) document.save(’%s-價(jià)格通知.docx’ % i)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. asp(vbscript)中自定義函數(shù)的默認(rèn)參數(shù)實(shí)現(xiàn)代碼2. CSS3實(shí)例分享之多重背景的實(shí)現(xiàn)(Multiple backgrounds)3. XML入門(mén)的常見(jiàn)問(wèn)題(四)4. 使用Spry輕松將XML數(shù)據(jù)顯示到HTML頁(yè)的方法5. 詳解瀏覽器的緩存機(jī)制6. ASP基礎(chǔ)知識(shí)VBScript基本元素講解7. XHTML 1.0:標(biāo)記新的開(kāi)端8. XML解析錯(cuò)誤:未組織好 的解決辦法9. php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究10. 利用CSS3新特性創(chuàng)建透明邊框三角
