Excel修改默认分页符(仅仅在特定行后可插入分页符)

news/2024/10/19 4:20:53/

昨天帮朋友处理一个Excel打印时分页问题,因为他这个表格内容很多,一共有4万条数据,人工分页会比较困难。相信大家也经常会碰到这种需求:样例表格如下,在打印时候要保证标题行和内容行不断开。
在这里插入图片描述
经过对比,采用宏并不是很便利,最后决定用Python脚本来处理,具体代码如下:

# 导入所需模块,主要是openpyxl,该模块仅支持xlsx格式需注意
import openpyxl
from openpyxl.worksheet.pagebreak import Break
# 加载需要处理的文档,大家可根据自己情况替换掉下面地址addr
addr='C:\\Users\\Desktop\\XXx.xlsx'
wb = openpyxl.load_workbook(addr)
# 加载文档中需要处理的表格对象,这里以名字为“c”的表格为例
ws1 = wb.get_sheet_by_name("c")
# 定义两个列表,初始加入0,后面用来存储 累加的行高和分页行号
row_high= []
row_high.append(0)
breaky =[]
breaky.append(0)
# ws1.max_row为表格中最大行号,下面遍历所有行
for i in range(ws1.max_row):
# row_high存储累计行高row_high.append(row_high[-1]+ws1.row_dimensions[i+1].height)
# 判断第i行累计行高-上一次分页时累计行高
# 457.6是当前页面去除上下页边距后高度的磅值
# 我这里页面是A4横向(21x27),上下页边距均为2.5,剩下页面内容高度为16厘米,Excel中1厘米约为28.6磅,16x28.6=457.6if row_high[i+1]-row_high[breaky[-1]] >457.6 :# 再判断,将最接近的偶数行加入breaky列表if i%2==0:breaky.append(i)else :breaky.append(i-1)
# 从ws1.page+breaks中提取横向和纵向分页两个变量
next_page_horizon, next_page_vertical = ws1.page_breaks
# 遍历breaky列表,将分页行加入横向分页变量
for br in breaky:next_page_horizon.append(Break(br))
# 将更改保存到指定文件
wb.save('C:\\Users\\1Desktop\\C.xlsx')
print("转换完毕!!!")

通过以上脚本可实现在最接近每页的偶数行后插入分页符,openpyxl使用中存在一些问题,如果发现列表索引错误,可能是部分行高无法获取,格式刷将对应行刷一下就好。如果说单个表格数据量特别巨大,可能会出现保存后出现文件无法正常打开的情况,此时可以将表格分为两部分来分页。


http://www.ppmy.cn/news/860274.html

相关文章

最新html word 分页符,分页符 有什么用

分页符用于在指定位置强制分页;分页符是分页的一种符号,上一页结束以及下一页开始的位置;Microsoft Word可插入一个“自动”分页符(或软分页符),或者通过插入“手动”分页符(或硬分页符)在指定位置强制分页。 本文操作环境&#x…

win10的word如何取消分页符

平时用word只是用到他的记录功能,今天公司的其他部门的同事,问我一个取消分页符的问题,我整了半天也懵逼了,后来不知道怎么又搞好了,夸了我半天,尽管我也是瞎鼓捣出来的emmmm…… 一、情景 明明上一页还没…

分页符的使用

分页符的使用 1、未使用分页符时,第二章的内容会和第一章的结束内容出现在同一个页面中,正常是希望第二章从新一页开始排版。这时可以使用分页符来实现。 2、使用方法:在“第二章”字符前选择插入“分页符”即可,结果如下图所示。…

Linux 删除 颜色转义字符 乱码 \x1b

目录 Linux颜色控制 方式一:添加sed正则命令 方式二:将输出写入文件再读取 Git颜色控制 使用Python paramiko ssh 获取 git 输出时,出现乱码,实际上是终端输出的ANSI颜色转义字符,用于控制终端颜色展示:…

vue自定义生成海报

1.安装插件 npm i vue-canvas-poster --save 2.多端生成网站 快速开始 | fastposter官方文档 1.在main中引入 import VueCanvasPoster from vue-canvas-poster Vue.use(VueCanvasPoster) 2.页面配置以及引用 <template><div class"filmManagerBox"><…

买电脑的原因

长大以后刚上班&#xff0c;那会电脑奇贵无比。买一台像样一点的电脑&#xff0c;要存一年的钱才能够买到。可我还是会去这样做&#xff0c;就是因为想要玩电脑游戏。还有一点&#xff0c;就是我的耐心足够好。

如果用户的计算机的配置较差,买电脑怎么看配置?电脑购买须知【详解】

电脑配置是衡量一台电脑性能的标准&#xff0c;我们在购买电脑时必须考虑电脑的配置问题。在购买电脑前&#xff0c;我们要明确这台电脑购得后的用途&#xff0c;根据不同的用途才能选择不同的配置&#xff0c;才能选到自己心仪的电脑。明确需求后&#xff0c;要考虑自己需要的…

买电脑的烦恼

想配一台自用台式机&#xff0c;好久没去看硬件&#xff0c;现在产品线太多了&#xff0c;不知道选什么好&#xff0c;初步决定就用p4 2.8吧&#xff0c;双核那个东西还是先不用为好&#xff0c;能跑vs2005和数据库就可以了&#xff0c;再加个一般的显卡&#xff0c;偶而玩一下…