如果只是简单的一次打印100行,分成30次打印,那么:
1、设计模版的时候,不要指定打印条件。
2、用下面的代码打印,要点已经给你标出来了:
Dim cnt As Integer = 100 '每次打印的行数
For i As Integer = 0 To Tables("订单").Rows.count -1 Step cnt
Dim ed As Integer = math.min(i + cnt - 1, Tables("订单").Rows.count -1)
Tables("订单").Select(i,0,ed,0) '选定本次打印的100行
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()
proc.WaitForExit '等到关闭本次生成的excel报表文件才打印下一个100行
Next