コード例 #1
0
        private Column CreateColumnFromAttribute(ColumnOpenXmlAttribute ca)
        {
            if (ca == null)
            {
                return(null);
            }

            Column c = new Column();

            if (true == ca.Hidden)
            {
                c.Hidden = ca.Hidden;
            }
            if (ca.CustomWidth != 0)
            {
                c.Width       = ca.CustomWidth;
                c.CustomWidth = true;
            }
            return(c);
        }
コード例 #2
0
        /// <summary>
        /// 获得列设置
        /// </summary>
        /// <returns></returns>
        protected Columns GetColumnSetting()
        {
            int pcount = propertyInfoes.Length;

            if (pcount == 0)
            {
                return(null);
            }
            var cas = (from pi in propertyInfoes
                       let ca = pi.GetCustomAttributes(typeof(ColumnOpenXmlAttribute), false).FirstOrDefault() as ColumnOpenXmlAttribute
                                select ca).ToArray();
            var casNotNull = cas.Where(x => x != null).ToArray();

            if (casNotNull == null || casNotNull.Count() < 1)
            {
                return(null);
            }
            List <Column> columnList = new List <Column>();
            var           casGrop    = from ca in casNotNull
                                       group ca by new { ca.CustomWidth, ca.Hidden };

            foreach (var cg in casGrop)
            {
                int cgCount = cg.Count();
                if (cgCount > 0)
                {
                    ColumnOpenXmlAttribute caf = cg.FirstOrDefault();
                    int    index = Array.IndexOf(cas, caf);
                    int    min   = index + 1;
                    int    max   = index + cgCount;
                    Column c     = CreateColumnFromAttribute(caf);
                    c.Min = (uint)min;
                    c.Max = (uint)max;
                    columnList.Add(c);
                }
            }
            Columns columns = new Columns(columnList);

            return(columns);
        }