Dim Book As New XLS.Book '定义一个Excel工作簿
Dim Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
With wb.AddTable("","Table1")
.head.AddRow(cps).Attribute="style='font-size:20px;color:blue;white-space:nowrap;' align='center;'"
Dim i As Integer=0
For Each cp As String In cps '添加列标题
Sheet(0, i).Value = cp
i=i+1
Next
For r As Integer=0 To lst.Count-1
With .body.AddRow()
.addcell(r+1)
Sheet(r +1, 0).Value = r+1
Dim j As Integer=1
For Each nm As String In nms
.AddCell(lst(r)(nm))
Sheet(r +1, j).Value = lst(r)(nm)
j=j+1
Next
End With
Next
With .body.AddRow()
For Each cp As String In cps
.AddCell(cp,"style='font-size:20px;color:blue;white-space:nowrap;' align='center;'")
Next
End With
If e.PostValues("tj")="on"
Dim bjlists As List(of String) = DataTables("成绩").sqlGetValues("班级全称", "[单位名称] = '" & e.Cookies("userdw") & "' and 学段 ='" & e.PostValues("xd") & "' and 考试名称 = '" & e.PostValues("ksmc") & "'")
wb.AppendHTML("<style>.mark{background-color:red; color:white;}</style>", True) '添加样式
For Each bjList As String In bjlists
With .body.AddRow()
.AddCell(bjlist & "平均分","colspan='4' style='color:blue;text-align:center;'")
For Each js As String In jss
Dim xs As String = format(DataTables("成绩").sqlCompute("Avg(" & js & ")","[单位名称] = '" & e.Cookies("userdw") & "'And [考试名称] = '" & e.PostValues("ksmc") & "' and [班级全称] = '" & bjlist & "' and 学段= '" & e.PostValues("xd") & "'"),"#.00")
If bjlist = e.PostValues("bjqc")
.addcell(xs,"style='color:blue;'")
Else
.addcell(xs)
End If
Next
.AddCell(" ","colspan='3'")
End With
Next
End If
.ActiveSheet = "menu"
End With
'Book.Save("c:\web\xzwj\" & e.Cookies("username") & "\ " & e.Cookies("ksmc") & e.Cookies("bjqc") & ".xls")
Book.Save("c:\web\xzwj\" & e.Cookies("username") & "\成绩表.xls")
老师,按照你的指导,我现在这样做成了下载表格,但现在还有几个问题:
1、能不能生成table1后提取table1行和列的值来填充,这样更效率更高,需要时才生成表导出,不需要不就生成导出。
2、Book.Save("c:\web\xzwj\" & e.Cookies("username") & "\成绩表.xls")生成的表在下载的时候,如果首次下载,通知栏有提示,如果再下载由于文件名相同就没提示,并且下载的文件不履盖前面的文件,要删了上次下载的文件才能有提示并是新的内容.怎么能实现下载的文件履盖前面的文件。
3、如何能在下载后就自动打开excl文件,现在测试情况是要到下载管理中找到文件再打开。