Exemplo n.º 1
0
        /// <summary>
        /// Converts the given list of objects into CSV format.
        /// </summary>
        /// <typeparam name="T">The object type.</typeparam>
        /// <param name="data">The data.</param>
        /// <returns>The CSV representation of the given objects.</returns>
        public string ToCsv <T>(IList <T> data)
        {
            var properties = GetCleanObjectProperties(data.First());

            var generator = new CsvGenerator().AddHeaders(properties);

            foreach (var item in data)
            {
                var values = properties.Select(
                    property => item.GetType().GetProperty(property)?.GetValue(item).ToString())
                             .ToList();

                generator.CreateRow(values, false);
            }

            return(generator.ToString());
        }