我对在 ASP.net 中生成/发送 Excel 报告的整个问题不熟悉。
下面的代码有时不适用于大量数据(大型 Excel 报告),但前提是用户(不在我们公司)从他的浏览器请求它。如果我运行它,它总是可以工作的,而且我位于服务器所在的同一栋建筑物中。
客户端有 IE9 和 MS Office 2010。客户端没有收到任何错误。客户在漫长的等待时间后根本没有收到报告。似乎超时而没有错误。
为客户提供大型 Excel 报告,是否有以下方法的替代方法?
下面代码中的任何错误都可能导致问题?
为客户端生成可在 Excel 客户端打开的报告的最佳 = 稳健方法是什么?
Response.ContentType = "application/ms-excel"
Response.AddHeader("Content-Disposition", "attachment; filename=" + ReportName + ".xls")
Response.Write("<table border =1>")
For Each ch As ColumnHeaders In arrCh
If ch.ColumnName <> "" Then
pCh = pCh & "<td><b>" & ch.ColumnName & "</b></td>"
pColCount = pColCount + 1
End If
Next
If pExtraHeader <> "" Then
Response.Write(pExtraHeader)
End If
Response.Write("<tr>" & pCh & "</tr>")
If oSQLDataReader.HasRows Then
Do While oSQLDataReader.Read()
Response.Write("<tr>")
For I = 0 To arrCh.Count - 1
If arrCh(I + 1).columnname <> "" Then
Response.Write("<td>" & strColumnValue & "</td>")
If arrCh.Item(I + 1).isTotal = True Then
arrCh.Item(I + 1).placeholder = CDbl(arrCh.Item(I + 1).placeholder) + CDbl(oSQLDataReader.GetValue(I))
End If
End If
Next
Response.Write("</tr>")
Loop
Dim pTotal As String = ""
For Each ch As ColumnHeaders In arrCh
If ch.ColumnName <> "" Then
pTotal = pTotal & "<td><b>" & strColumnValue & "</b></td>"
End If
Next
Response.Write("<tr>" & pTotal & "</tr>"
End If
Response.Write("</table>")