python办公自动化---将excel表格插入到doc文档指定位置
应用场景:
目录
应用场景:
问题描述1
问题描述2:
小问题:
需要引入的包
总结:
要求将excel中的表格插入到word文档中
- 将doc格式转为docx
- 将表格插入文档
- 如有需要可以将docx文档转回doc,方法与1相似
问题描述1
由于python不能直接对doc格式的word进行操作,需要提前将doc文档另存为docx
注:里面的路径和绝对路径如path和newPath均为绝对路径
def docToDocx(path):word = Dispatch('Word.Application')# 后台运行不显示word.Visible = 0# 不警告word.DisplayAlerts = 0doc = word.Documents.Open(FileName=path, Encoding='gbk')# 必须绝对路径,保持和doc路径一致newPath = os.path.splitext(path)[0] + '.docx'# 暂停3秒,否则会报错 -2147352567time.sleep(3)doc.SaveAs(newPath, 12, False, "", True, "", False, False, False, False)# 开启会删除原来的doc文档# doc.Close()# 退出word.Quit()time.sleep(2)# print('doc文档已另存为docx文档')return newPath
问题描述2:
将excel表格插入到word文档指定位置,需要在word指定位置实现编写表名,以便检索
excel中也可能存在多个sheet
# 将excel中的表格存放在word文档指定位置
def xlsxToDoc(docxPath, excelPath):# 打开excel文件# data_only=True---避免出现公式,直接给出计算结果excel = load_workbook(excelPath, data_only=True)# 打开word文档word = Document(docxPath)print('打开文档')# 遍历excel文件中所有的worksheetsfor sheet in excel.worksheets:rows = list(sheet.rows)# 遍历word文档的段落,并找到标题for paragraph in word.paragraphs:if sheet.title in paragraph.text: table = word.add_table(rows=len(rows),cols=len(rows[0]),style='Table Grid',) # 从表单中读取数据,写入word中的表格for irow, row in enumerate(rows):for icol, col in enumerate(row):# print(col.value)# 判断是因为会出现丢失精度,原因未知if isinstance(col.value, float):table.cell(irow, icol).text = str(round(col.value, 2))elif col.value is None:table.cell(irow, icol).text = ''else:table.cell(irow, icol).text = str(col.value)# 把添加的table移动到指定的位置move_table_after(table, paragraph)# 保存word文件word.save(docxPath[:-4] + 'docx')print('已将表格插入到文档当中')# ---------------------------------------------------------------------------------------# 表默认会添加在文档尾部,需要定义函数将其移动到指定位置
def move_table_after(table, paragraph):tbl, p = table._tbl, paragraph._pp.addnext(tbl)
小问题:
若需要在转回doc文档时,删掉docx文档,需在转换方法最后添加代码os.remove(path)
需要引入的包
总结:
if __name__ == '__main__':# path = input('请输入word文档的绝对路径: ')# excelPath = input('请输入excel文档的绝对路径: ')# D:\pythonProject\文档.docpath = 'D:\pythonProject\文档.doc'# D:\pythonProject\表格.xlsxexcelPath = 'D:\pythonProject\表格.xlsx'docxPath = docToDocx(path)xlsxToDoc(docxPath, excelPath)docxToDoc(docxPath)
python办公自动化---将excel表格插入到doc文档指定位置相关推荐
- php做excel导入word,php如何将excel表格插入到word文档
对于一般人来说,在看一篇文章应该是图片和文字想结合的效果要好多了,所以我们在word进行编辑排版的时候都适当的在其中插入图片或者表格,这样能版面不会过于简单化.前段时间就一位网友反馈到关于在word文 ...
- 怎么将excel表格转换成word文档
怎么将excel表格转换成word文档?有时候为了工作需要将excel转换成word文档,但是却不知道使用什么工具,下面就简单说一下将excel表格转换成word文档的方法. 1.进行文件之间的转换首 ...
- 如何将做好的excel表格转换成word文档
有时候需要将excel表格文件转换成为word文档,那该怎么版呢,毕竟excel表格与word是两种不同的格式,虽然excel表格内容可以直接复制到word中,但是如果内容较多,处理起来就没那么简单了 ...
- 怎样可以把excel表格转换成word文档
在处理一些文档时,有时会遇到需要将excel表格内容全部放到word文档中,通常只是需要excel的部分数据内容时,直接通过复制,然后粘贴到word文档中即可,但是如果需要将excel表格所以内容都转 ...
- excel表格如何转换成word表格_如何将excel转换成word?如何将excel表格转换成word文档?...
如果要在Word中从头开始创建或输入数据表,但想要Excel电子表格的功能,则可以嵌入空白Excel电子表格并像在Excel中一样工作. 1.单击插入选项卡,然后从表格下拉菜单中选择Excel电子表格 ...
- 如何免费将excel表格转换成Word文档?
Excel能转成Word吗?有时为了日常工作的需求,可能会需要将表格转成其他格式的文档,比如Word,那么Excel应该如何操作才能转换成Word文档呢?一起来看看. 方法1:首先用极速表格打开Exc ...
- 将Excel表格数据写入到word的指定位置
将Excel表格数据转为word的指定位置 想要的结果是excel的一行数据,转换为一个word,并且更改为指定的位置. 首先使用的excel和word 是xlsx和docx格式的哦,其他格式的请自行 ...
- excel表格如何转换成word表格_如何免费将excel表格转换成Word文档?
Excel能转成Word吗?有时为了日常工作的需求,可能会需要将表格转成其他格式的文档,比如Word,那么Excel应该如何操作才能转换成Word文档呢?一起来看看. 方法1:首先用极速表格打开Exc ...
- 如何将excel表格转化为word文档(去掉表格)
第一次写这种技术的博客,有点辛苦,中间有一次,CSDN抽风,导致我不得不重新写. 这是我自己摸索的,之前参考其他的教程,但是还是有点不同,他们用的是老旧的excel 2010和word 2010. 工 ...
最新文章
- java异常详细讲解_Java异常处理机制的详细讲解和使用技巧
- 删除DataTable中列重复的行
- CSS3 box-reflect 属性
- linux 禁ping设置
- VMWare下窗口大小调整
- Logitech Control Center 3.9.8 特别版 Mac 罗技USB键盘和鼠标管理软件
- oracle 快速检索表名称及包含的字段名称
- 条件表达式的学习和使用 实例之闰年的判断
- html打字机特效,[JS插件]酷炫的打字机效果: Typed.js
- 计算机网络:随机访问介质访问控制之CSMA协议
- Hbase最全面入门指南
- 【时间与空间】极移矩阵
- react setState 和 this.state区别 以及需要注意
- C语言练习题的错题集
- mac玩rust用什么画质_Steam Mac/Windows游戏性能、画质对比
- 基于 Kubernetes 部署 Zookeeper,太有意思了!
- 2018最新Java实战开发今日头条资讯网站
- weblogic中间件WLS(bea_wls_internal)组件敏感信息泄露漏洞整改
- 迪尤肯大学计算机专业,迪尤肯大学
- 关于linux系统遍历一个目录下所有文件的代码原理以及代码