我在 C#工作,需要使用 Entity Framework 6 。我有一个调用存储过程的服务(使用Dbcontext)并将结果放在 IList 中。然后我有一个使用此服务的控制器。现在我最初将结果与 Epplus 结合使用,将其保存为Excel / Xlsl文件 - 这完全符合预期。
但是现在,我需要将其另存为CSV文件。我找到了几个链接,例如this和this,将Excel转换为CSV (但我现在可以跳过此步骤,因为我可以转换结果集为CSV,不需要excel文件),我也发现了这个link。
据我所知,使用 stringbuilder 将数据集/结果集导出/转换为 CSV 相当容易。但是,我想知道,鉴于我有 Epplus 并且能够保存为Excel- 是不是更清洁的方式?或者最好是获取数据,使用stringbuilder以逗号分隔值并将其用于CSV?
我之前已经发布了相似的主题(like this one) - 但我觉得我的问题对于新帖子来说足够独特。
答案 0 :(得分:-1)
使用EPPlus并不是一种更简洁的方法。您只需要更多代码即可完成相同的结果。创建CSV文件只不过是在其中编写带逗号的文本文件。那么为什么不这样做呢?
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