前言:
继 '解决jxls2.4.x 分sheet导出 页边距失效,页眉/页脚失效,工作表-打印标题-顶端标题行失效问题' 后接着讲
眼尖的同学可能已经在上篇文章中看到导出后的Excel第2行单元格区域内有个1/10,没错那是页码.
客户的需求是在顶端标题行不动的情况下,也就是每页都有前4行,这个页码要随着页面的改变而改变.
有人可能提出设置个页眉带上页码搞定, 没错, 我也这么想的.
可客户不这么想,需求不能改,必须这么搞. (这只是需求之一)
0x001: 万丈深渊
由于各种原因,经商议暂时采取以下折中方案.
先在Excel模板的页面布局中设置页眉,页眉中加入页码.
之后去设置页边距,页眉距, 这里重点说下页眉距怎么设置. 所谓'距',即:又能上偏,又能下移.
合理的设置页眉的距离,使其向下偏移,直到正好在单元格区域内的某个格子上.
上下偏移调好了,接下来再去调节左右偏移. 再回到页眉设置处,在页码前面多加几个空格,使其向右偏移,直到符合你的需求.
0x002: 有失有得
虽然这样是达到了第一个需求的目的,但这样做有一个弊端,就是非打印预览时这个页码是看不到的,即此单元格内是空的.
因客户需求只在打印出来需要,故单元格内有无数据无关紧要.
至此, 有关本文标题的解决方案已经完结.
0x003: 半路夭折
上面说了这只是需求之一,需求之二就是该页码右侧的那个'全部页'.
先来解释一下'项目页','全部页'的释义.
项目页: 当前sheet中的当前页 / 当前sheet中的总页
全部页: 整个工作簿中的当前页 / 整个工作簿中的总页
有一个解决思路就是利用vba去做:
整个工作簿中的当前页(先拿到当前激活sheet下标,求出该下标之前所有sheet的总页数,再与当前激活sheet中的页码相加)
整个工作簿中的总页(拿到sheet总数,分别求出每个sheet页数,再相加)
虽然有解决思路, 但由于手头活比较多,再加上vba语法不是很熟, 耗费时间, 也就暂时搁置了
0x004: 未完, 待续
如果你有更好的解决方案,欢迎指评.
网友评论