0
telerik orm 엔티티 목록을 CSV 형식으로 변환하는 더 쉬운 방법이 있습니까?Telerik ORM 엔티티 목록을 CSV 파일로 변환하는 방법
telerik orm 엔티티 목록을 CSV 형식으로 변환하는 더 쉬운 방법이 있습니까?Telerik ORM 엔티티 목록을 CSV 파일로 변환하는 방법
다음과 같은 간단한 정적 클래스가이 작업에서 도움이됩니다. 이 계정으로 탐색 특성을 고려하지 않고 기업의 속성 값을 포함하는,를 .csv 파일을 만듭니다 참고 :
public static partial class EntitiesExporter
{
public static void ExportEntityList<T>(string fileLocation, IEnumerable<T> entityList, string seperator = " , ")
{
string content = CreateFileContent<T>(entityList, seperator);
SaveContentToFile(fileLocation, content);
}
private static string CreateFileContent<T>(IEnumerable<T> entityList, string seperator)
{
StringBuilder result = new StringBuilder();
List<PropertyInfo> properties = new List<PropertyInfo>();
foreach (PropertyInfo item in typeof(T).GetProperties())
{
if (item.CanWrite)
{
properties.Add(item);
}
}
foreach (T row in entityList)
{
var values = properties.Select(p => p.GetValue(row, null));
var line = string.Join(seperator, values);
result.AppendLine(line);
}
return result.ToString();
}
private static void SaveContentToFile(string fileLocation, string content)
{
using (StreamWriter writer = File.CreateText(fileLocation))
{
writer.Write(content);
writer.Close();
}
}
}
당신은 당신의 코드에서이 같은 클래스를 소비 할 수 있습니다 :
using (EntitiesModel dbContext = new EntitiesModel())
{
IQueryable<Category> cats = dbContext.Categories;
string appDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
string fileLocation = Path.Combine(appDir, "test.csv");
EntitiesExporter.ExportEntityList<Category>(fileLocation, cats);
}
도움이되기를 바랍니다.
http://stackoverflow.com/questions/17698228/generic-list-to-csv-string – Sajeetharan