有两套EXCEL模板内容相同格式略有不同,根据选择的条件生成不同的报表。
此主题相关图片如下:植被统计表.jpg
此主题相关图片如下:植被统计.jpg
生成植被统计表的正确按钮代码:
If DataTables.Contains("分组统计") '如果存在分组统计
Dim Names() AS String = {"结果分析表","林种统计表","面积统计表","秋季验收表","补助测算表","坡度统计表","权属统计表","设计汇总表","设计统计表","投资测报表","预算汇总表","植被统计表","验收汇总表","二期补助表"}
For Each Name As String In Names
With Tables("分组统计")
.Select(0 ,0, .Rows.Count - 1, .Cols.Count - 1)
End with
Dim Book As New XLS.Book(ProjectPath & "Attachments\" & Name & ".xls") '打开模板
Book.Build() '生成细节区
Book.Save("D:\My Documents\退耕报表\"& Name & ".xls") '保存工作簿
Dim Proc As New Process '打开工作簿
Proc.File ="D:\My Documents\退耕报表\"& Name & ".xls"
Proc.Start()
Next
Else
MessageBox.Show("先统计!", "提示")
End If
现在想根据条件自动生成报表,提示错误,要怎样写代码才能达到要求?
If DataTables.Contains("分组统计") '如果存在分组统计
If e.Form.Controls("ComboBox1")>"" AndAlso e.Form.Controls("ComboBox2")>"" Then
Dim Names() AS String = {"结果分析","林种统计","面积统计","秋季验收","补助测算","坡度统计","权属统计","设计汇总","设计统计","投资测报","预算汇总","植被统计","验收汇总","二期补助"}
Else
Dim Names() AS String = {"结果分析表","林种统计表","面积统计表","秋季验收表","补助测算表","坡度统计表","权属统计表","设计汇总表","设计统计表","投资测报表","预算汇总表","植被统计表","验收汇总表","二期补助表"}
End If
For Each Name As String In Names
With Tables("分组统计")
.Select(0 ,0, .Rows.Count - 1, .Cols.Count - 1)
End with
Dim Book As New XLS.Book(ProjectPath & "Attachments\" & Name & ".xls") '打开模板
Book.Build() '生成细节区
Book.Save("D:\My Documents\退耕报表\"& Name & ".xls") '保存工作簿
Dim Proc As New Process '打开工作簿
Proc.File ="D:\My Documents\退耕报表\"& Name & ".xls"
Proc.Start()
Next
Else
MessageBox.Show("先统计!", "提示")
End If
[此贴子已经被作者于2010-8-2 19:46:32编辑过]