asp.net-mvc - 如何在 ASP.NET MVC 应用程序中导出为 CSV?

标签 asp.net-mvc

我知道这个问题已经以多种方式提出和回答,但没有一个能触及我需要理解的问题的症结所在。在 WebForms 中,我们“颠覆”渲染过程并直接写入 Response 的输出流。如何使用 Controller 操作将 CSV 写入 Excel 文件?

最佳答案

为了详细说明 Omu 的 FileHelpers 答案,我能够结合 @shamp00's ideas这里有 this answer here为了通过流即时将 CSV 呈现为 FileContentResult

给定一个像这样的 FileHelpers DTO 模型:

[DelimitedRecord(",")] 
public class Foo
{
    public string Name { get; set; }
    public int Id { get; set; }
}

还有一个 Controller Action :

public FileContentResult DownloadFoosCSV()
{
     var foos = GetFoos(); // IEnumerable<Foo>

     var fileHelper = new FileHelperEngine<Foo>();
     using (var stream = new MemoryStream())
     using (var streamWriter = new StreamWriter(stream, Encoding.UTF8))
     {
         fileHelper.WriteStream(streamWriter, foos);
         streamWriter.Flush();
         return File(stream.ToArray(), "application/csv", "NewFoos.csv");
     }
}

关于asp.net-mvc - 如何在 ASP.NET MVC 应用程序中导出为 CSV?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3551082/

相关文章:

c# - ASP.NET MVC/Azure 平台上 cron 作业类型任务的最佳实践?

c# - 在 MVC 应用程序中拒绝旧浏览器

c# - 使用 IronPython 扩展 ASP.Net MVC 网站

javascript - 将参数传递给 jQuery 删除按钮单击事件处理程序

javascript - ASP.NET MVC - Uncaught ReferenceError : jQuery is not defined even if I'm including the library

asp.net-mvc - 计划每晚构建 msbuild 任务

c# - 如何使用 UnitOfWork 模式从 Add 获取 id?

asp.net-mvc - 带有ASP.NET Web API后端的AngularJS SPA

asp.net-mvc - ASP.NET Web 体系结构设计 - 第 2 部分

asp.net-mvc - 可以从全局路由访问 ASP.NET MVC3 区域 Controller ?