Пример #1
0
        public static void WriteToFile <T>(string path, List <T> data)
        {
            path = path.EndsWith(".xls") ? path : path + "-" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".xls";

            var props = AssembleUtil.GetPorpertyNames <T>(flags);

            HSSFWorkbook workbook = new HSSFWorkbook();
            ISheet       sheet    = workbook.CreateSheet(Path.GetFileNameWithoutExtension(path));


            Dictionary <int, string> valuePos = new Dictionary <int, string>();

            for (int i = 0; i < props.Count; ++i)
            {
                valuePos.Add(i, props[i]);
            }

            IRow headRow = sheet.CreateRow(0);

            SetRowValue(headRow, valuePos);

            int rowPos = 1;

            foreach (var d in data)
            {
                var row = sheet.CreateRow(rowPos++);
                SetRowValue(row, valuePos, AssembleUtil.GetPropertyValues(d, flags));
            }

            using (FileStream file = new FileStream(path, FileMode.Create))
            {
                workbook.Write(file);
            }
        }
Пример #2
0
        private static string GetHeaderString <T>()
        {
            StringBuilder header = new StringBuilder();
            var           props  = AssembleUtil.GetPorpertyNames <T>(flags);

            foreach (var p in props)
            {
                header.AppendFormat("{0},", p);
            }
            return(header.ToString().TrimEnd(','));
        }