将SQL结果集转换为CSV文件

我在C#工作,需要使用entity framework6 。 我有一个调用存储过程的服务(使用Dbcontext),并将结果放入IList中 。 然后我有一个控制器 ,利用这项服务。 现在最初我使用的结果与Epplus结合保存这个Excel / Xlsl文件 – 这完美/按预期工作。

不过现在,我需要把它保存为一个CSV文件。 我发现了几个链接,比如这个和这个 , 把excel转换成CSV (不过我现在可以跳过这一步,因为我可以把结果集转换成CSV,而不需要excel文件) ,我也发现这个链接 。

据我所知,使用stringbuilder将数据集/结果集导出/转换为CSV相当容易。 但是,我想知道,因为我有Epplus和能够保存为Excel – 是否没有一个更干净的方式来做到这一点 ? 或者,最好是采取的数据,使用逗号分隔的string制造商,并使用CSV的?

我知道类似的话题( 比如这个 )之前已经发布 – 但是我觉得我的问题对于一个新的post是足够独特的。

使用EPPlus并不是一个简单的方法。 你只需要更多的代码来完成相同的结果。 创buildCSV文件只不过是用逗号写一个文本文件。 那么为什么不这样做呢?

StringBuilder sb = new StringBuilder(); foreach (DataRow dr in yourDataSet) { List<string> fields = new List<string>(); foreach (object field in dr.ItemArray) { fields.Add(field); } sb.Append(String.Join(",", fields) + Environment.NewLine); } //and save.. sb.ToString() as a .csv file