我在 C# 工作,需要使用 Entity Framework 6。我有一个调用存储过程(使用 Dbcontext)并将结果放在 IList 中的服务。然后我有一个使用此服务的 Controller 。现在我最初使用结果与 Epplus 将其保存为 Excel/Xlsl 文件 - 这完美地/按预期工作。
但是现在,我需要将其保存为 CSV 文件。我找到了几个链接,例如 this和 this ,它将 excel 转换为 CSV (但是我现在可以跳过这一步,因为我可以将结果集转换为 CSV,而不需要 excel 文件),我也找到这个 link .
据我所知,使用 stringbuilder 将数据集/结果集导出/转换为 CSV 相当容易。但是,我想知道,考虑到我有 Epplus 并且能够保存为 Excel - 是否没有更简洁的方法?或者最好是获取数据,使用 stringbuilder 来分隔值并将其用于 CSV?
我知道类似的主题 ( like this one ) 之前已经发布过 - 但我觉得我的问题足够独特,可以发布新帖子。
最佳答案
使用 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
关于c# - 将 SQL 结果集转换为 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30049405/