422456w 发表于 2021-11-18 00:20

python如何判断word跳转下一页,或者判断表格跳转下一页?

请教各位,如何用python判断word跳转到下一页了

目前代码想实现的功能是:

我将LOL中所有英雄的技能按照技能1、2、3、4排列插入word的表格模板中,表格的末尾为“第页”,想让python自动加上第1页、第2页这种字样。图1中,由于字数很少,表格不会超过第一页,“第页”也在该页的末尾。

我想让python从excel中读取数据并自动写入word表格模板中(图3),一页写不完,python自动复制这个表格模板为第二页。如果python判断表格跨页了,则自动删除一行或几行空行保持该页表格不跨页。

但是当我插入另外英雄的数据时,如图2所示,由于字数太多,表格会延伸到第2页去,并且“第页”也在第2页。

请教一下各位,我怎么用python判断了,我目前想到两个办法

1、直接判断表格1跳转到第二页,但是我找了很多资料,貌似没有这种用法

2、通过判断“第页”不在页面末尾判断跳页

但是这两种方法我都找不到如何解决。python-docx库没有这个功能,win32com也不能实现这个功能

pzx521521 发表于 2021-11-18 09:25

方向歪了python/vba 没有这些功能是有原因的
1. 第n页使用页脚即可
2. python自动复制这个表格模板为第二页
这个使用表头即可可以度娘 "word 表头"
如果按你的逻辑做应该这么做 但是很麻烦:
1.应该用python 动态插入表格行
2.通过字数确定改行有多少个wordwarp(自动下一行)就知道每行的高度, 减去页边距, 就知道你这一页插满了没

jetranger 发表于 2021-11-18 09:37

如果没有现成的API,建议通过页面大小和行距,字符大小来计算行数,从而判断是否超过了一页。

myHeart98 发表于 2021-11-18 10:22

{:1_921:}强!!!

zxc9989 发表于 2021-11-18 10:37

如果你是想实现这种效果,其实word自带的重复标题行就行了

afei26579 发表于 2021-11-18 10:57

如果用表格 来展示,不建议用word 里面插入的表格。 可以用excel 格式来处理,python 针对excel 的库有很多,方便快捷。

Soar119 发表于 2021-11-18 11:12

python菜鸟前来观摩{:1_893:}

422456w 发表于 2021-11-18 19:28

zxc9989 发表于 2021-11-18 10:37
如果你是想实现这种效果,其实word自带的重复标题行就行了

谢谢,我有非常多的数据在excel,现在要复制到word表格中,所以我才发这个贴,你的这个回答完全跟我的问题不相关

422456w 发表于 2021-11-18 19:49

pzx521521 发表于 2021-11-18 09:25
方向歪了python/vba 没有这些功能是有原因的
1. 第n页使用页脚即可
2. python自动复制这个表格模板为 ...

谢谢你
目前就卡在怎么判断word表格跨行

422456w 发表于 2021-11-18 19:50

jetranger 发表于 2021-11-18 09:37
如果没有现成的API,建议通过页面大小和行距,字符大小来计算行数,从而判断是否超过了一页。

关键这是word中的文字,并不能判断,如果全部都是paragraph类型就好了
页: [1] 2
查看完整版本: python如何判断word跳转下一页,或者判断表格跳转下一页?