Foxtable(狐表)用户栏目专家坐堂 → [求助]如何让打开的excel报表自动重设分页符?


  共有4676人关注过本帖树形打印复制链接

主题:[求助]如何让打开的excel报表自动重设分页符?

帅哥哟,离线,有人找我吗?
bigeng
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:846 积分:5797 威望:0 精华:0 注册:2014/5/20 17:56:00
[求助]如何让打开的excel报表自动重设分页符?  发帖心情 Post By:2015/1/1 22:33:00 [只看该作者]

生成的excel报表如何打开后自动重设分页符,每次都手工重设太麻烦了?

 回到顶部
帅哥哟,离线,有人找我吗?
wyz20130512
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1247 积分:9428 威望:0 精华:0 注册:2013/5/12 9:22:00
回复:(bigeng)[求助]如何让打开的excel报表自动重设...  发帖心情 Post By:2015/1/1 23:33:00 [只看该作者]

在Excel模板中正常设置纸张及相关的参数即可。多预览几次。调好保存就可。

 回到顶部
帅哥哟,离线,有人找我吗?
bigeng
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:846 积分:5797 威望:0 精华:0 注册:2014/5/20 17:56:00
  发帖心情 Post By:2015/1/2 10:13:00 [只看该作者]

因为格式需要,模板里面已经加了强制分页,但是因为打印的表格不固定,许多时候打印一张太浪费了,所以不得不重新手工重设分页符,但这样太麻烦了,所有想请教有没有更好的方式解决一下。就是生成报表后能够自动重设分页符?

 回到顶部
帅哥哟,离线,有人找我吗?
bigeng
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:846 积分:5797 威望:0 精华:0 注册:2014/5/20 17:56:00
  发帖心情 Post By:2015/1/4 10:45:00 [只看该作者]

甜版,看看生成excel报表后能够自动重设分页符吗?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/4 12:29:00 [只看该作者]

 插入分页符参考

 

换页打印

利用PageBreak属性可手工控制换页。

如在工作表的第24行后设置一个手动分页符:
Ws.Rows(25).PageBreak = MSExcel.XlPageBreak.xlPageBreakManual

如在工作表的第3列左侧设置一个手动分页符:
Ws.Columns(3).PageBreak = MSExcel.XlPageBreak.xlPageBreakManual

清除所有的手动分页符:
Ws.Cells.PageBreak = MSExcel.XlPageBreak.xlPageBreakNone

 

http://www.foxtable.com/help/topics/2121.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
bigeng
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:846 积分:5797 威望:0 精华:0 注册:2014/5/20 17:56:00
  发帖心情 Post By:2015/1/4 16:46:00 [只看该作者]

甜版,自动重设所有分页符在这段代码后如何设呀,刚才弄了半天老出错,只能求助您了!

Dim Book As New XLS.Book(ProjectPath & "Attachments\运费(对账打印).xls")
Dim fl As String = ProjectPath & "Reports\运费(对账打印).xls"
Book.Build() '生成细节区
Book.Save(fl) '保存工作簿
Dim Proc As New Process '打开工作簿
Proc.File = fl
Proc.Start()


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/4 16:50:00 [只看该作者]

 类似

 

Dim Book As New XLS.Book(ProjectPath & "Attachments\运费(对账打印).xls")
Dim fl As String = ProjectPath & "Reports\运费(对账打印).xls"
Book.Build() '生成细节区
Book.Save(fl) '保存工作簿

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl)
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)

Ws.Rows(25).PageBreak = MSExcel.XlPageBreak.xlPageBreakManual '如在工作表的第24行后设置一个手动分页符:

app.Visible = True

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/1/4 16:50:00 [只看该作者]

清除所有的手动分页符:
Ws.Cells.PageBreak = MSExcel.XlPageBreak.xlPageBreakNone

完毕后重新设置,参考帮助.

下面的例子就是对有内容的区域,每打印5行就换页:

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\Report.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
'对A列从65536行开始向上查找,直到找到最后一个非空单元格为止,并得到其行号.也就是有内容的结束行
Dim EndRow As Integer = Ws.Range("A65536").End(MSExcel.XlDirection.xlUp).Row
'对A列从第1行开始向下查找,直到找到最后一个非空单元格为止,并得到其行号.也就是有内容的开始行
Dim FirstRow As Integer = Ws.Range("A1").End(MSExcel.XlDirection.xlDown).Row
'对A列从第1行开始向下查找,直到找到最后一个非空单元格为止,并得到其行号.也就是有内容的开始行
Ws.Cells.PageBreak = MSExcel.XlPageBreak.xlPageBreakNone'清除所有分页符
For i As Integer = FirstRow+6 To EndRow Step 5  '每5行就分页
    Ws.Rows(i).PageBreak = MSExcel.XlPageBreak.xlPageBreakManual
Next
App.Visible = True
Ws.PrintPreview
App.Quit

 回到顶部
帅哥哟,离线,有人找我吗?
bigeng
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:846 积分:5797 威望:0 精华:0 注册:2014/5/20 17:56:00
  发帖心情 Post By:2015/1/4 17:09:00 [只看该作者]

谢谢!

 回到顶部