2个简单的代码,帮你实现word的导出和word的读取
功能一:导出word,word中的内容为
代码:
from docx import Document from docx.enum.text import WD_PARAGRAPH_ALIGNMENT #设置对象居中、对齐等。 from docx.enum.text import WD_TAB_ALIGNMENT,WD_TAB_LEADER #设置制表符等 from docx.shared import Inches #设置图像大小 from docx.shared import Pt #设置像素、缩进等 from docx.shared import RGBColor #设置字体颜色 from docx.shared import Length #设置宽度 from docx.oxml.ns import qn import time today=time.strftime("%Y{y}%m{m}%d{d}",time.localtime()).format(y="年",m="月",d="日") document=Document() document.styles["Normal"].font.name=u'宋体'# 设置文档的基础字体 document.styles["Normal"].element.rPr.rFonts.set(qn('w:eastAsia'),u'宋体')#设置文档的基础中文字体 #初始化建立第一个自然段 p1=document.add_paragraph() p1.alignment=WD_PARAGRAPH_ALIGNMENT.CENTER#对齐方式为居中 run1=p1.add_run("关于下达%s产品的通知"%today) run1.font.name="微软雅黑" run1.font.size=Pt(21) # 字体大小为21磅 run1.font.bold=True #加粗 p1.space_after=Pt(5)#段后距离5磅 p1.space_before = Pt(5)# 段前距离5磅 # 建立第一个自然段 i='客户3' p2 = document.add_paragraph() run2 = p2.add_run("%s:" % 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产品报价表')# 合并单位格内填入XX产品报价表 table_run1.font.name = u"隶书" table_run1.element.rPr.rFonts.set(qn('w:eastAsia'), u'隶书') table.cell(0, 0).paragraphs[0].alighment=WD_PARAGRAPH_ALIGNMENT.CENTER#居中 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 ='100' table.cell(2, 2).text = '' document.add_page_break()#分页符 document.save('价格通知.docx')#保存
需要说明的是
run3.font.name = "仿宋_GB2312"
run3.element.rPr.rFonts.set(qn('w:eastAsia'), u'仿宋_GB2312')
这两句均是设置字体为仿宋_GB2312,之所以要两种格式写两遍,是因为word对中文支持不太友好,需要再填一句
功能二:读取word,word中的内容为
读取表格外文字的代码:
from docx import Document document=Document("长恨歌.docx") print("读取非表格中的内容:") all_paragraphs=document.paragraphs for paragraph in all_paragraphs: print(paragraph.text)
读取表格内文字的代码:
from docx import Document document=Document("长恨歌.docx") print("读取表格中的内容:") tables=document.tables for i in range(len(tables)): tb=tables[i]#获取表格的行 tb_rows=tb.rows #读取每一行内容 for i in range(len(tb_rows)): row_data=[] row_cells=tb_rows[i].cells#读取每一行单元格内容 for cell in row_cells:#单元格内容 row_data.append(cell.text) print(''.join(row_data))
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 【雨果唱片】中国管弦乐《鹿回头》WAV
- APM亚流新世代《一起冒险》[FLAC/分轨][106.77MB]
- 崔健《飞狗》律冻文化[WAV+CUE][1.1G]
- 罗志祥《舞状元 (Explicit)》[320K/MP3][66.77MB]
- 尤雅.1997-幽雅精粹2CD【南方】【WAV+CUE】
- 张惠妹.2007-STAR(引进版)【EMI百代】【WAV+CUE】
- 群星.2008-LOVE情歌集VOL.8【正东】【WAV+CUE】
- 罗志祥《舞状元 (Explicit)》[FLAC/分轨][360.76MB]
- Tank《我不伟大,至少我能改变我。》[320K/MP3][160.41MB]
- Tank《我不伟大,至少我能改变我。》[FLAC/分轨][236.89MB]
- CD圣经推荐-夏韶声《谙2》SACD-ISO
- 钟镇涛-《百分百钟镇涛》首批限量版SACD-ISO
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】