C# 将实体输出到csv

C# 将实体输出到csv,c#,csv,C#,Csv,我目前正在做一个商业项目。由于我的应用程序,我必须生成数据。所以我得到了一个核心实体,它包含其他实体以及列表等 其所有数据必须发送到需要以CSV格式发送的合作伙伴API 我的问题是,应用转换的最佳解决方案是什么 public static string ObjectToCsvData(object obj) { if (obj == null) { throw new ArgumentNullException("obj", "Value can not

我目前正在做一个商业项目。由于我的应用程序,我必须生成数据。所以我得到了一个核心实体,它包含其他实体以及列表等

其所有数据必须发送到需要以CSV格式发送的合作伙伴API

我的问题是,应用转换的最佳解决方案是什么

 public static string ObjectToCsvData(object obj)
 {
     if (obj == null)
     {
         throw new ArgumentNullException("obj", "Value can not be null or Nothing!");
     }

     StringBuilder sb = new StringBuilder();
     Type t = obj.GetType();
     PropertyInfo[] pi = t.GetProperties();

     for (int index = 0; index < pi.Length; index++)
     {
         sb.Append(pi[index].GetValue(obj, null));

         if (index < pi.Length - 1)
         {
            sb.Append(",");
         }
     }

     return sb.ToString();
 }
公共静态字符串ObjectToCsvData(objectobj)
{
if(obj==null)
{
抛出新ArgumentNullException(“obj”,“值不能为null或Nothing!”);
}
StringBuilder sb=新的StringBuilder();
类型t=obj.GetType();
PropertyInfo[]pi=t.GetProperties();
for(int index=0;index
有很多重复的问题和库可以很容易地做到这一点。你试过什么吗?你遇到问题了吗?是一个突然想到的库我遇到的问题是我使用嵌套实体。因此,很难有一个清晰的愿景来匹配CSV格式。因此,我知道有几种解决方案,但准确地说,哪一种最适合这种情况。VHELPER似乎太僵化了,我来看看高级解决方案features@CamilleColvrayCSV中没有嵌套实体。它应该是一种简单的平面格式。如果你认为CsvHelper是死板的,那你就错了。您文件的使用者将无法使用它。不是我的下一票,而是CSV并不意味着将单个对象的属性放入带有逗号的字符串中。您的意思是您有嵌套对象?谢谢,我将测试该代码,但实际上,我不认为GetProperties()可以处理entities@CamilleColvrayCSV文件没有嵌套的实体。他们没有实体。它们是由分隔符分隔的简单值。分隔符之间的任何内容都是文本。您不能在CSV文件中使用嵌套实体,因为我们不能指定属性的名称;它唯一的价值。