变通一下
e.Form.Controls("Label3").text="导出中,请稍候..."
Dim Time,Time1 As Date
Time = Date.now
Application.Doevents
If FileSys.DirectoryExists("D:\My Documents\学生成绩") Then '目录存在
Else
FileSys.CreateDirectory("D:\My Documents\学生成绩") '创建目录
End If
Dim doc As New PrintDoc '定义一个新报表
Dim rt As New prt.RenderTable '定义一个新表格
Dim ColNames As String() = New String(){"班级","姓名", "语文","数学","英语","物理","化学","生物","政治","地理","总分"}
Dim drs As List(of DataRow) = DataTables("成绩排名").Select(" 班级=" & e.Form.Controls("ComboBox2").value & "")
For c As Integer = 0 To ColNames.Length - 1 '逐列设置和填入内容
rt.Cells(0,c).Text = ColNames(c) '列名作为标题
For r As Integer = 0 To drs.Count -1 '开始填入该列内容
rt.Cells(r + 1, c).Text = drs(r)(ColNames(c))
Next
Next
rt.Style.Gridlines.All = New prt.Linedef(Color.Gray)
doc.Body.Children.Add(rt) '将表格加入到报表
doc.SaveHtm("D:\My Documents\学生成绩\" & e.Form.Controls("ComboBox2").value & "班" & e.Form.Controls("ComboBox1").value & "期" & "成绩排名.htm")
Tables("成绩排名").Redraw = True
Time1 = Date.Now
e.Form.Controls("Label3").text="导出成功!耗时 " & (Time1-Time).TotalSeconds & " 秒"