我有一个 MS SQL View ,希望在 ASPNET Web 窗体应用程序中以 CSV 下载形式提供该 View 。我正在将 Entity Framework 用于项目中的其他 View 和表。启用此下载的最佳方式是什么?
我可以添加一个 LinkButton,其单击处理程序会迭代 View ,将其 CSV 表单写入磁盘,然后提供该文件。但是,如果可以避免的话,我宁愿不写入磁盘,并且这涉及可以通过其他解决方案避免的迭代代码。
最佳答案
您可以迭代数据集,但无需在服务器上创建 CSV 文件,只需通过 HTTP 响应返回它即可。下面的函数应该可以解决问题。
Public Shared Sub ExportTextFile(ByVal response As System.Web.HttpResponse, ByVal text As String, ByVal fileName As String)
response.Clear()
response.AddHeader("content-disposition", String.Format("attachment;filename={0}", fileName))
response.Charset = ""
response.Cache.SetCacheability(HttpCacheability.NoCache)
response.ContentType = "application/vnd.text"
Dim stringWrite As New System.IO.StringWriter
Dim htmlWrite = New HtmlTextWriter(stringWrite)
response.Write(text.ToString)
response.End()
End Sub
关于asp.net - 如何在 ASP.NET Web 表单中以 CSV 形式提供 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2540368/