我知道這個問題已經以多種方式提出並回答了,但是他們都沒有得到我需要理解的問題的癥結所在。在WebForms中,我們'顛覆'渲染過程並直接寫入Response的輸出流。如何使用控制器操作實現該操作,將CSV寫入Excel文件?如何在ASP.NET MVC應用程序中將其導出爲CSV?
2
A
回答
2
同樣的方式,你會寫任何其他文件 - 使用FileResult和它的後代。
2
我一直在使用這樣的:在一個asp.net MVC應用程序http://www.filehelpers.net/,看看入門指南,您應該從那裏
3
得到它你可以嘗試在CsvActionResult http://develoq.net/2011/export-csv-actionresult-for-asp-net-mvc/
3
描述只是爲了詳細闡述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; }
}
和控制器的動作:
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");
}
}
相關問題
- 1. 如何在ASP.Net MVC應用程序中將ActiveReport導出到XLS?
- 2. 如何將Visual Studio中的ASP.NET MVC應用程序導入SharpDevelop?
- 3. 在ASP.NET應用程序中將數據導出爲PDF
- 4. 如何爲ASP.NET 4.5 MVC應用程序
- 5. 在IIS7中導出ASP.NET應用程序
- 6. 如何在我的asp.net MVC應用程序將其更改爲<%Html.ActionLink%>
- 7. 如何在ASP.NET MVC應用程序中將d3(v4)導入到腳本中?
- 8. 將ASP.NET網站應用程序導入到MVC應用程序中的視圖
- 9. 如何在asp.net MVC中將數據導出爲pdf?
- 10. 如何在ASP.NET MVC中將網格導出爲PDF格式
- 11. 爲什麼EditorFor在ASP.NET MVC 2應用程序中拋出ArgumentNullException?
- 12. 我想導出包含在我的ASP.net MVC應用程序
- 13. 在mvc導出爲CSV不起作用
- 14. 在MVC應用程序中將數據導出到Excel
- 15. 如何在ASP.NET MVC應用程序中使用ASP.NET頁面?
- 16. 如何配置ReportViewer,使其可以在ASP.NET中導出CSV?
- 17. 導出爲CSV文件集中在Asp.Net MVC
- 18. 在asp.net MVC應用程序
- 19. 使用MVC,C#和jQuery導出爲CSV
- 20. 將CSV導入到Web應用程序
- 21. 將.xls/.csv導入iPhone應用程序
- 22. 將Java導出爲Jar應用程序
- 23. 如何在Chrome擴展程序中「導出爲CSV」按鈕?
- 24. 如何在ASP.Net Form網站中部署ASP.Net MVC應用程序
- 25. 導出用於PhoneGap的ASP.NET MVC應用程序源代碼
- 26. 如何在ASP.NET MVC應用程序中爲非MVC對象使用Ninject
- 27. 將查詢結果導出到ASP.NET MVC應用程序中的Excel
- 28. 將ASP.NET MVC應用程序放入主MVC應用程序的子目錄中?
- 29. 在asp.net mvc應用程序中的TCPClient
- 30. 寫入CSV文件並將其導出?
謝謝你,現在我知道如何寫任何其他文件中。 – ProfK 2010-08-23 19:55:46