Python  word实现读取及导出代码解析


Posted in Python onJuly 09, 2020

2个简单的代码,帮你实现word的导出和word的读取

功能一:导出word,word中的内容为

Python  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中的内容为

Python  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))

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python开发之字符串string操作方法实例详解
Nov 12 Python
Python实现Linux命令xxd -i功能
Mar 06 Python
windows下python安装paramiko模块和pycrypto模块(简单三步)
Jul 06 Python
浅析使用Python操作文件
Jul 31 Python
Python中list查询及所需时间计算操作示例
Jun 21 Python
浅析Python四种数据类型
Sep 26 Python
Python中如何导入类示例详解
Apr 17 Python
python五子棋游戏的设计与实现
Jun 18 Python
python读取大文件越来越慢的原因与解决
Aug 08 Python
python set集合使用方法解析
Nov 05 Python
python 使用cx-freeze打包程序的实现
Mar 14 Python
Django在Model保存前记录日志实例
May 14 Python
推荐技术人员一款Python开源库(造数据神器)
Jul 08 #Python
实例讲解Python 迭代器与生成器
Jul 08 #Python
opencv 阈值分割的具体使用
Jul 08 #Python
如何表示python中的相对路径
Jul 08 #Python
如何卸载python插件
Jul 08 #Python
python中数字是否为可变类型
Jul 08 #Python
如何让python的运行速度得到提升
Jul 08 #Python
You might like
php中计算程序运行时间的类代码
2012/11/03 PHP
php数字运算验证码的实现代码
2015/07/30 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
2015/12/17 PHP
使用php实现网站验证码功能【推荐】
2017/02/09 PHP
php实例化一个类的具体方法
2019/09/19 PHP
详解phpstorm2020最新破解方法
2020/09/17 PHP
JavaScript中出现乱码的处理心得
2009/12/24 Javascript
js左侧多级菜单动态的解决方案
2010/02/01 Javascript
Js操作Select大全(取值、设置选中等等)
2013/10/29 Javascript
Jquery对象和Dom对象的区别分析
2014/11/20 Javascript
javascript显式类型转换实例分析
2015/04/25 Javascript
bootstrap paginator分页前后台用法示例
2017/06/17 Javascript
Vue之beforeEach非登录不能访问的实现(代码亲测)
2019/07/18 Javascript
javascript如何实现create方法
2019/11/04 Javascript
[03:07]DOTA2英雄基础教程 冰霜诅咒极寒幽魂
2013/12/06 DOTA
Python发送form-data请求及拼接form-data内容的方法
2016/03/05 Python
Python采用Django制作简易的知乎日报API
2016/08/03 Python
python中reduce()函数的使用方法示例
2017/09/29 Python
对python中assert、isinstance的用法详解
2019/11/27 Python
安装并免费使用Pycharm专业版(学生/教师)
2020/09/24 Python
英国领先的奢侈品零售商之一:CRUISE
2016/12/02 全球购物
欧铁通票官方在线销售网站:Eurail.com
2017/10/14 全球购物
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
西班牙在线药店:DosFarma
2020/03/28 全球购物
意大利单身交友网站:Meetic
2020/07/12 全球购物
Happy Plugs官网:瑞典无线耳机品牌
2020/07/16 全球购物
struct与class的区别
2014/02/03 面试题
《绿色蝈蝈》教学反思
2014/03/02 职场文书
经贸日语专业个人求职信范文
2014/04/29 职场文书
学生期末评语大全
2014/04/30 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话
2014/10/21 职场文书
2015年“公民道德宣传日”活动方案
2015/05/06 职场文书
2015年乡镇安全生产工作总结
2015/05/19 职场文书
创业计划书之酒店
2019/08/30 职场文书
Python基础之条件语句详解
2021/06/16 Python
Python使用openpyxl批量处理数据
2021/06/23 Python