/// <summary> /// 数据源 转 DataTable /// </summary> /// <typeparam name="T">源数据类型</typeparam> /// <param name="sources">源数据</param> /// <param name="exportFieldsWithName"></param> /// <returns></returns> private DataTable CreateDataTable <T>(IEnumerable <T> sources, Dictionary <string, string> exportFieldsWithName) { Type type = typeof(T); ColumnInfo[] cols = ColumnInfoContainer.GetColumnInfos(type, exportFieldsWithName.Keys); DataTable dataTable = new DataTable(); foreach (ColumnInfo col in cols) { dataTable.Columns.Add(exportFieldsWithName[col.PropertyInfo.Name]); } FillDataTable(dataTable, sources, cols); return(dataTable); }
public MemoryStream CreateMemoryStream <T>(IEnumerable <T> sources, Dictionary <string, string> exportFieldsWithName) { HSSFWorkbook workbook = null; try { ColumnInfo[] cols = ColumnInfoContainer.GetColumnInfos(typeof(T), exportFieldsWithName); return(CreateMemoryStream(sources, cols, out workbook)); } finally { workbook?.Close(); } }
/// <summary> /// 数据源 转 DataTable /// </summary> /// <typeparam name="T">源数据类型</typeparam> /// <param name="sources">源数据</param> /// <param name="exportFields"></param> /// <returns></returns> private DataTable CreateDataTable <T>(IEnumerable <T> sources, ICollection <string> exportFields) { Type type = typeof(T); ColumnInfo[] cols = ColumnInfoContainer.GetColumnInfos(type, exportFields); DataTable dataTable = new DataTable(); foreach (ColumnInfo col in cols) { dataTable.Columns.Add(col.DisplayName); } FillDataTable(dataTable, sources, cols); return(dataTable); }
public MemoryStream CreateMemoryStream <T>(IEnumerable <T> sources) { HSSFWorkbook workbook = null; try { ColumnInfo[] cols = ColumnInfoContainer.GetColumnInfos(typeof(T)); return(CreateMemoryStream(sources, cols, out workbook)); } finally { workbook?.Close(); } }