以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何让打开的excel报表自动重设分页符?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=62461)

--  作者:bigeng
--  发布时间:2015/1/1 22:33:00
--  [求助]如何让打开的excel报表自动重设分页符?
生成的excel报表如何打开后自动重设分页符,每次都手工重设太麻烦了?
--  作者:wyz20130512
--  发布时间:2015/1/1 23:33:00
--  回复:(bigeng)[求助]如何让打开的excel报表自动重设...
在Excel模板中正常设置纸张及相关的参数即可。多预览几次。调好保存就可。
--  作者:bigeng
--  发布时间:2015/1/2 10:13:00
--  
因为格式需要,模板里面已经加了强制分页,但是因为打印的表格不固定,许多时候打印一张太浪费了,所以不得不重新手工重设分页符,但这样太麻烦了,所有想请教有没有更好的方式解决一下。就是生成报表后能够自动重设分页符?
--  作者:bigeng
--  发布时间:2015/1/4 10:45:00
--  
甜版,看看生成excel报表后能够自动重设分页符吗?
--  作者:有点甜
--  发布时间: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
--  发布时间: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()


--  作者:有点甜
--  发布时间: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
--  发布时间: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
--  发布时间:2015/1/4 17:09:00
--  
谢谢!