asp.net - 如何在 ASP.NET Web 表单中以 CSV 形式提供 View

标签 asp.net sql entity-framework csv httphandler

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

我可以添加一个 LinkBut​​ton,其单击处理程序会迭代 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/

相关文章:

java - 使用 Java ResultSet 选择多个列值

php - 为什么 distinct 不适用于 Laravel + Postgresql?

c# - Sequence 比 Entity Framework 中的 Identity 快吗?

c# - 什么时候清除 ViewState session ?

asp.net - Css - 为什么我的输入是全宽的?

c# - 具有复合主键的 SQL 请求

asp.net - 如何使所有用户都具有角色(Microsoft ASP.NET Identity EntityFramework 2.0.0-beta1)?

asp.net - ADO.NET 实体数据模型缺失 Visual Studio 2015 社区

javascript - 使用 jQuery 获取元素的父元素

asp.net - ASP.NET 2.0 中的 @Register 指令