Существует ли быстрый способ преобразовать объект в .csv файл?

в настоящее время я имею:

        string outputRow = string.Empty;
        foreach (var entityObject in entityObjects)
        {
            outputRow = entityObject.field1 + "," + entityObject.Field2  etc....
        }

Я все еще плохо знаком с Платформой Объекта, есть ли более быстрый путь?

9
задан Leniel Maccaferri 24 January 2012 в 13:48
поделиться

1 ответ

Пример кода, который показывает простой, но эффективный способ выполнения того, что вы хотите, без необходимости жесткого кодирования имен свойств (с использованием отражения):

 /// <summary>
 /// Creates a comma delimeted string of all the objects property values names.
 /// </summary>
 /// <param name="obj">object.</param>
 /// <returns>string.</returns>
 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();
 }

Подробнее об этом:

Объекты в CSV

Как я могу преобразовать список объектов в csv

Есть ли библиотеки для чтения / записи CSV в C #

Запись файла CSV в .net

LINQ to CSV: Получение данных так, как вы хотите

Библиотека LINQ to CSV

25
ответ дан 4 December 2019 в 07:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: