应用场景:

目录

应用场景:

问题描述1

问题描述2:

小问题:

需要引入的包

总结:


要求将excel中的表格插入到word文档中

  1. 将doc格式转为docx
  2. 将表格插入文档
  3. 如有需要可以将docx文档转回doc,方法与1相似

问题描述1

由于python不能直接对doc格式的word进行操作,需要提前将doc文档另存为docx

注:里面的路径和绝对路径如pathnewPath均为绝对路径

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文档指定位置相关推荐

  1. php做excel导入word,php如何将excel表格插入到word文档

    对于一般人来说,在看一篇文章应该是图片和文字想结合的效果要好多了,所以我们在word进行编辑排版的时候都适当的在其中插入图片或者表格,这样能版面不会过于简单化.前段时间就一位网友反馈到关于在word文 ...

  2. 怎么将excel表格转换成word文档

    怎么将excel表格转换成word文档?有时候为了工作需要将excel转换成word文档,但是却不知道使用什么工具,下面就简单说一下将excel表格转换成word文档的方法. 1.进行文件之间的转换首 ...

  3. 如何将做好的excel表格转换成word文档

    有时候需要将excel表格文件转换成为word文档,那该怎么版呢,毕竟excel表格与word是两种不同的格式,虽然excel表格内容可以直接复制到word中,但是如果内容较多,处理起来就没那么简单了 ...

  4. 怎样可以把excel表格转换成word文档

    在处理一些文档时,有时会遇到需要将excel表格内容全部放到word文档中,通常只是需要excel的部分数据内容时,直接通过复制,然后粘贴到word文档中即可,但是如果需要将excel表格所以内容都转 ...

  5. excel表格如何转换成word表格_如何将excel转换成word?如何将excel表格转换成word文档?...

    如果要在Word中从头开始创建或输入数据表,但想要Excel电子表格的功能,则可以嵌入空白Excel电子表格并像在Excel中一样工作. 1.单击插入选项卡,然后从表格下拉菜单中选择Excel电子表格 ...

  6. 如何免费将excel表格转换成Word文档?

    Excel能转成Word吗?有时为了日常工作的需求,可能会需要将表格转成其他格式的文档,比如Word,那么Excel应该如何操作才能转换成Word文档呢?一起来看看. 方法1:首先用极速表格打开Exc ...

  7. 将Excel表格数据写入到word的指定位置

    将Excel表格数据转为word的指定位置 想要的结果是excel的一行数据,转换为一个word,并且更改为指定的位置. 首先使用的excel和word 是xlsx和docx格式的哦,其他格式的请自行 ...

  8. excel表格如何转换成word表格_如何免费将excel表格转换成Word文档?

    Excel能转成Word吗?有时为了日常工作的需求,可能会需要将表格转成其他格式的文档,比如Word,那么Excel应该如何操作才能转换成Word文档呢?一起来看看. 方法1:首先用极速表格打开Exc ...

  9. 如何将excel表格转化为word文档(去掉表格)

    第一次写这种技术的博客,有点辛苦,中间有一次,CSDN抽风,导致我不得不重新写. 这是我自己摸索的,之前参考其他的教程,但是还是有点不同,他们用的是老旧的excel 2010和word 2010. 工 ...

最新文章

  1. java异常详细讲解_Java异常处理机制的详细讲解和使用技巧
  2. 删除DataTable中列重复的行
  3. CSS3 box-reflect 属性
  4. linux 禁ping设置
  5. VMWare下窗口大小调整
  6. Logitech Control Center 3.9.8 特别版 Mac 罗技USB键盘和鼠标管理软件
  7. oracle 快速检索表名称及包含的字段名称
  8. 条件表达式的学习和使用 实例之闰年的判断
  9. html打字机特效,[JS插件]酷炫的打字机效果: Typed.js
  10. 计算机网络:随机访问介质访问控制之CSMA协议
  11. Hbase最全面入门指南
  12. 【时间与空间】极移矩阵
  13. react setState 和 this.state区别 以及需要注意
  14. C语言练习题的错题集
  15. mac玩rust用什么画质_Steam Mac/Windows游戏性能、画质对比
  16. 基于 Kubernetes 部署 Zookeeper,太有意思了!
  17. 2018最新Java实战开发今日头条资讯网站
  18. weblogic中间件WLS(bea_wls_internal)组件敏感信息泄露漏洞整改
  19. 迪尤肯大学计算机专业,迪尤肯大学
  20. 关于linux系统遍历一个目录下所有文件的代码原理以及代码

热门文章

  1. C prime plus 第六版 课后编程练习 第7章
  2. RTOS内功修炼记(三)—— 内核到底是如何管理中断的?
  3. 扶她奶茶批量解密工具范例
  4. Apache Spark 在eBay 的优化
  5. 给PLC工程师搭个脚手架
  6. vulfocus fastjson打靶
  7. Idea 2022 搭建Struts2 框架手把手教程!新鲜出炉!!
  8. CAD线条颜色与图层默认颜色不符
  9. 南师大计算机学科评估排名,榜单|全国高校学科评估:这些高校这些学科全国排前十!(A-篇)...
  10. 7-7 账号管理:添加和编辑账号