import win32com.client
import xlrd
from tkinter import filedialog, messageboxdPath = filedialog.askopenfilename(filetypes=[("文本", "docx")], title="请选择模板")
path = filedialog.askopenfilename(filetypes=[("文本", "xls")], title="选择excel表格")
docxPath = dPath.replace("/", "\\")
savee = filedialog.askdirectory(title="保存路径")
wb = xlrd.open_workbook(path, formatting_info=True)
sheet = wb.sheet_by_index(0)
listF = []
for n in range(1, sheet.nrows):rowVal = sheet.row_values(n)if rowVal[0] == "":rowVal[0] = listF[-1][0]rowVal[1] = listF[-1][1]rowVal[2] = listF[-1][2]listF.append(rowVal)else:listF.append(rowVal)
listh = []
for f in listF:vr = []for b in listF:if f[0] == b[0]:vr.append(tuple(b))listh.append(vr)
df = dict()
for mm in listh:df.update({tuple(mm): ""})
app = win32com.client.Dispatch('Word.Application')
app.Visible = 0  # 后台运行
app.DisplayAlerts = 0  # 不显示,不警告
doc = app.Documents.Open(FileName=docxPath, Encoding='utf8')
table = doc.tables[0]
for x in df.keys():count = len(x)if count > 3:dd = count - 3try:table.Cell(16, 2).Select()app.Selection.InsertRowsBelow(dd)except:doc.Close()  # 关闭 word 文档app.Quit()  # 关闭 officen = 16table.Cell(6, 3).Range.Text = x[0][2]for y in x:table.Cell(n, 2).Range.Text = y[3]table.Cell(n, 3).Range.Text = y[5]table.Cell(n, 4).Range.Text = y[6]table.Cell(n, 5).Range.Text = y[10]table.Cell(n, 6).Range.Text = y[8]table.Cell(n, 7).Range.Text = y[9]table.Cell(n, 8).Range.Text = y[7]n += 1savePath = savee + "/" + x[0][2] + ".docx"doc.SaveAs(savePath)  # 另存为
doc.Close()  # 关闭 word 文档
app.Quit()  # 关闭 office
messagebox.showinfo("tip", "成功!")

win32com word表格内指定位置插入数据相关推荐

  1. Java操作word指定位置插入数据

    需求背景:因项目需要无法使用poi-tl包利用{{}}定位的方式向word模板的指定位置填写信息 解决方法:现利用替换占位字段的方式,在要替换的地方前后都插入书签 示例word: 在需要替换填写内容的 ...

  2. php数组中插入数值,php中如何在数组指定位置插入数据单元

    方法: 使用array_splice()函数. 语法格式:array_splice(array,offset,length,array) 参数: array:必需.规定数组. offset:必需.数值 ...

  3. MATLAB读取excel表格中指定位置的数据

    >>> help xlsread xlsread - 读取 Microsoft Excel 电子表格文件 此 MATLAB函数读取名为 filename的Microsoft Exce ...

  4. word中在指定位置插入图片

    当然得在word中建立一些书签了,作用就是定位.再就是要有Microsoft Word 11.0 Object引用 这是段是精华 //添加应用 using Word=Microsoft.Office. ...

  5. POI操作Word中的表格XWPFTable,在指定位置插入行

    最近由于客户使用Word文档展示表格中的数据,我TM...Excel它不香嘛,为什么要用Word去展示表格呢??? 但是呢.客户就是上帝,上帝让我们干嘛我们就要干嘛. 1:有这样一个需求,在已有的Wo ...

  6. python将图片插入word文件的指定位置,并转为pdf文件

    1.需求说明 现需要做一份数据报告,报告中只需插入少量图片,其他部分的文字和格式不变,需要将图片插入word文件的指定位置,并最终生成一份pdf报告.注意:是基于已有word文件插入图片,不是创建wo ...

  7. 用 Python 自动生成 Word 文档并在指定位置插入图片

    用Python生成Word文档 在指定位置插入图片 首先当然需要第三方库啦(▽) 天才第一步,第三方的库O(∩_∩)O哈哈~ 参照转发的是这位大佬的博客:https://blog.csdn.net/c ...

  8. java word添加图片_Java 替换word文档文字并指定位置插入图片

    先说下 需要的依赖包 org.apache.poi poi-excelant 3.12 org.apache.poi poi-scratchpad 3.12 org.apache.poi poi-oo ...

  9. python替换指定位置word图片_用Python在word的指定位置插入图片(使用Python-docx包)...

    1 2 首先,本实例是采用java语言的,需要进行xml操作,至于poi,docx4j这些,因为感觉不是文档不太好,要嘛就是操作不方便,而且英文就算了,主要是注释很少,让人云里雾里的.所以,嘿嘿,直接 ...

最新文章

  1. 团队离职率30%,被CTO怼了:这5招记住了,再有人离职,先把自己裁了!
  2. dubbo协议原理机制 单一长连接
  3. inode linux x64,又一次在64位ubuntu上安装iNode
  4. chrome postman插件_收集了一些Chrome插件神器,助你快速成为老司机
  5. IIS OCIEnvCreate failed with return code -1
  6. IE8中伪元素动态作用样式不重绘bug记录
  7. 如何才能成为高级Java开发工程师
  8. 序列化和反序列化(六)——Java对象的网络传输(一)
  9. 谷歌关键字推广操作技巧
  10. 一句理解到底什么是雷达中的波位
  11. 计算机网络英文题库(含答案) Chapter 1 Computer Networks and the Internet
  12. 我们整理了20个Python项目,送给正在求职的你
  13. 设计模式-单例模式(Singleton)
  14. 多因子模型与细分行业多因子测试源码(以医疗行业为例)
  15. 【midomi】Android下最强音乐搜索工具
  16. 钉钉应用开发,提示Warning: Invalid CERT Authority
  17. Dissecting Person Re-identification from the Viewpoint of Viewpoint
  18. Android开发视频教程大总结—23部视频教程
  19. OGNL表达式原理及使用
  20. 求 objectdock 的 tray系统托盘插件

热门文章

  1. list_del()
  2. 百度百科人物创建要求是什么,自己的人物简介怎么上百度百科
  3. 2.4 矩阵的特征值与特征向量
  4. Visual Studio 默认编码为 utf-8
  5. Xcode12编译报错 “building for iOS,but linking in object file built for iOS Simulator”
  6. 运筹学基础【十】 之 盈亏分析模型
  7. 三五族异质结的自发极化、压电极化及2DEG
  8. 非视线成像:角膜成像系统
  9. java wate_Java Items.water_bucket方法代码示例
  10. 《Ensemble Learning Methods for Deep Learning Neural Networks》笔记