Exemplo n.º 1
0
        /// <summary>
        /// 分页查询
        /// </summary>
        /// <param name="SqlStr"></param>
        /// <param name="Page"></param>
        /// <param name="Rows"></param>
        /// <param name="Param"></param>
        /// <param name="ArryEntity"></param>
        /// <returns></returns>
        public Sys_PagingEntity FindPaging(string SqlStr, int Page, int Rows, object Param, params object[] ArryEntity)
        {
            var Total             = 0;
            var _Sys_PagingEntity = new Sys_PagingEntity();
            var _FindPaging       = db.FindPaging(SqlStr, Page, Rows, Param);

            Total = _FindPaging.Total;
            _Sys_PagingEntity.Table     = _FindPaging.Table;
            _Sys_PagingEntity.Counts    = Total;
            _Sys_PagingEntity.PageCount = (Total / Rows);
            _Sys_PagingEntity.List      = _FindPaging.Table.ToList();
            return(this.NewPagingEntity(_Sys_PagingEntity, ArryEntity));
        }
Exemplo n.º 2
0
        public virtual byte[] DBToExcel(Sys_PagingEntity pe)
        {
            var          dt       = pe.Table;
            var          list     = pe.ColModel;
            HSSFWorkbook workbook = new HSSFWorkbook();
            ISheet       sheet    = workbook.CreateSheet();

            //填充表头
            IRow dataRow = sheet.CreateRow(0);

            foreach (DataColumn column in dt.Columns)
            {
                if (column.ColumnName.Equals("_ukid"))
                {
                    continue;
                }
                foreach (var item in list)
                {
                    if (column.ColumnName.Equals(item["field"].ToStr()))
                    {
                        dataRow.CreateCell(column.Ordinal).SetCellValue(item["title"].ToStr());
                    }
                }
            }

            //填充内容
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                dataRow = sheet.CreateRow(i + 1);
                for (int j = 0; j < dt.Columns.Count; j++)
                {
                    if (dt.Columns[j].ColumnName.Equals("_ukid"))
                    {
                        continue;
                    }
                    dataRow.CreateCell(j).SetCellValue(dt.Rows[i][j].ToString());
                }
            }

            //保存
            using (MemoryStream ms = new MemoryStream())
            {
                workbook.Write(ms);
                return(ms.ToArray());
            }
        }
Exemplo n.º 3
0
        public Sys_PagingEntity NewPagingEntity(Sys_PagingEntity pe, params object[] ArryEntity)
        {
            var dic      = new Dictionary <string, object>();
            var list     = new List <PropertyInfo>();
            var colNames = new List <Dictionary <string, string> >();

            ArryEntity.ToList().ForEach(item =>
            {
                //将所有实体里面的属性放入list中
                ReflexHelper.GetPropertyInfos(item.GetType()).ToList().ForEach(p =>
                {
                    list.Add(p);
                });
            });
            foreach (DataColumn dc in pe.Table.Columns)
            {
                dic = new Dictionary <string, object>();
                var col = new Dictionary <string, string>();
                var pro = list.Find(item => item.Name.Equals(dc.ColumnName));

                dic["field"] = dc.ColumnName;
                dic["align"] = "left";
                if (pro == null)
                {
                    dic["title"]   = dc.ColumnName;
                    dic["visible"] = !dc.ColumnName.Equals("_ukid");
                    col.Add(dc.ColumnName, dc.ColumnName);
                }
                else
                {
                    //获取有特性标记的属性【获取字段别名(中文名称)】
                    var FiledConfig = pro.GetCustomAttribute(typeof(FieldAttribute)) as FieldAttribute;
                    dic["title"]   = (FiledConfig.Alias == "" ? dc.ColumnName : FiledConfig.Alias);
                    dic["visible"] = true;
                    col.Add(dc.ColumnName, dic["title"].ToStr());
                }
                pe.ColNames.Add(col);
                pe.ColModel.Add(dic);
            }

            return(pe);
        }