Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        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();
            }
        }
Exemplo n.º 3
0
        /// <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);
        }
Exemplo n.º 4
0
        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();
            }
        }