हो सकता है
यह एक मूल समाधान है जिसका उपयोग मैं किसी भी आईनेमरेबल के लिए कर रहा हूं:
using System.Reflection;
using System.Text;
//***
public void ToCSV<T>(IEnumerable<T> items, string filePath)
{
var dataTable = new DataTable(typeof(T).Name);
PropertyInfo[] props = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);
foreach (var prop in props)
dataTable.Columns.Add(prop.Name, prop.PropertyType);
foreach (var item in items)
{
var values = new object[props.Length];
for (var i = 0; i < props.Length; i++)
{
values[i] = props[i].GetValue(item, null);
}
dataTable.Rows.Add(values);
}
StringBuilder fileContent = new StringBuilder();
foreach (var col in dataTable.Columns)
fileContent.Append(col.ToString() + ",");
fileContent.Replace(",", System.Environment.NewLine, fileContent.Length - 1, 1);
foreach (DataRow dr in dataTable.Rows)
{
foreach (var column in dr.ItemArray)
fileContent.Append("\"" + column.ToString() + "\",");
fileContent.Replace(",", System.Environment.NewLine, fileContent.Length - 1, 1);
}
//good place to validate File.Exist or catch exceptions
System.IO.File.WriteAllText(filePath, fileContent.ToString());
}
स्रोत
2017-01-17 18:35:43
टी किस प्रकार का है? –
यह प्रश्न कुछ हद तक अस्पष्ट है, इसे "वास्तविक प्रश्न नहीं" के रूप में बंद करने के लिए पहले से ही 2 वोट हैं। कृपया http://tinyurl.com/so-hints देखें और देखें कि क्या आप प्रश्न को बेहतर बना सकते हैं। –