小编典典

如何在ASP.NET Web窗体中将视图作为CSV提供

sql

我有一个MS SQL视图,我想以CSV下载的形式在我的ASPNET Web窗体应用程序中使用。我正在将Entity
Framework用于项目中的其他视图和表。启用此下载的最佳方法是什么?

我可以添加一个LinkBut​​ton,其Click处理程序将在视图上进行迭代,将其CSV形式写入磁盘,然后提供该文件。但是,如果可以避免的话,我宁愿不写到磁盘上,因为这涉及到一些其他解决方案可以避免的迭代代码。


阅读 171

收藏
2021-04-28

共1个答案

小编典典

您可以遍历数据集,但是无需在服务器上创建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
2021-04-28