基于模板,生成报表。
在窗口中左边有一棵树,有一个表,还有一个生成报表的按钮。
点击左边的树节点,右边的表只显示符合条件的数据。
比如说整个表有100行,但通过左边树节点的过滤,界面上只显示了30行。但点成生报表的按钮,还是100行。
除非将鼠标在表中的任何一个单元格点击一下,再点生成报表按钮,才在EXCEL表中生成30行。
生成报表的按钮代码如下:
Dim TV As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim nd As WinForm.TreeNode = TV.SelectedNode
Dim tbl As Table = e.Form.Controls("Table1").Table
Select Case nd.Level
Case 1
tbl.Filter = "A = '" & nd.Text & "'"
If tbl.Rows.Count > 0 Then
Dim Book As New XLS.Book(ProjectPath & "Attachments\AAA.xls") '打开模板
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Book.Build() '生成细节区
Book.Save("c:\reports\test.xls") '保存工作簿
Dim Proc As New Process '打开工作簿
Proc.File = "c:\reports\test.xls"
Proc.Start()
End If
End Select
请教,问题在哪里呢?