ASP.NET MVC 导出CSV 的 CsvFileResult 类
public class CsvFileResult<T> : FileResult where T : class { private IEnumerable<T> _data; public CsvFileResult(IEnumerable<T> data) : base("text/CSV") { _data = data; } protected override void WriteFile(HttpResponseBase response) { var maxLine = int.Parse(ConfigurationManager.AppSettings["csvExport:MaxLine"]); int count = 0; var outPutStream = response.OutputStream; using (var streamWriter = new StreamWriter(outPutStream, System.Text.Encoding.UTF8)) using (var writer = new CsvWriter(streamWriter)) { writer.WriteHeader<T>(); foreach (var item in _data) { writer.WriteRecord(item); count++; if (count % 50 == 0) { streamWriter.Flush(); response.Flush(); } if (count >= maxLine) { break; } } } } }
实现依赖于CSVHelper
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。