Exemplo n.º 1
0
        public List <ReportEntity> Build(string reporttype)
        {
            IReportService service = new ReportService();
            var            setting = service.GetSetting(reporttype);
            var            start   = DateTime.MinValue;
            var            end     = DateTime.MinValue;

            this.BuildPiror(setting, out start, out end);
            var data = service.BuildAllReport(start, end, reporttype);

            var filelist = new List <FileInfoEntity>();
            var folder   = ConfigurationManager.AppSettings["FilePath"];

            foreach (var item in data)
            {
                if (item.TaskList != null)
                {
                    var id         = Guid.NewGuid();
                    var fileentity = new FileInfoEntity()
                    {
                        FileId         = id.ToString(),
                        FileName       = string.Format("{0}{1}{2}", item.ReportUser, item.ReportType, ".xlsx"),
                        FilePath       = string.Format("~/Resource/Report/{0}.xlsx", id),
                        FileExtensions = ".xlsx",
                        FileType       = "xlsx",
                        DeleteMark     = 0,
                        EnabledMark    = 1,
                        CreateDate     = DateTime.Now,
                        CreateUserId   = "system",
                        CreateUserName = "******",
                        ModifyDate     = DateTime.Now,
                        ModifyUserId   = "system",
                        ModifyUserName = "******",
                        RecId          = item.ReportId.ToString()
                    };

                    var book  = new Workbook();
                    var sheet = book.Worksheets[0];
                    sheet.Name = "任务清单";
                    sheet.Cells[0, 0].PutValue("序号");
                    sheet.Cells[0, 1].PutValue("工作时间");
                    sheet.Cells[0, 2].PutValue("工作任务");
                    sheet.Cells[0, 3].PutValue("作业人");

                    var style = sheet.Cells[0, 0].GetStyle();
                    style.ForegroundColor = System.Drawing.ColorTranslator.FromHtml("#C6EFCE");
                    style.Pattern         = BackgroundType.Solid;
                    var range = sheet.Cells.CreateRange(0, 0, 1, 4);
                    range.ApplyStyle(style, new StyleFlag()
                    {
                        All = true
                    });

                    for (int i = 0; i < item.TaskList.Count; i++)
                    {
                        sheet.Cells[i + 1, 0].PutValue(i + 1);
                        sheet.Cells[i + 1, 1].PutValue(item.TaskList[i].TaskPrior);
                        sheet.Cells[i + 1, 2].PutValue(item.TaskList[i].TaskContent);
                        sheet.Cells[i + 1, 3].PutValue(item.TaskList[i].TaskPerson);
                    }

                    sheet.Cells.SetColumnWidthPixel(0, 100);
                    sheet.Cells.SetColumnWidthPixel(1, 200);
                    sheet.Cells.SetColumnWidthPixel(2, 600);
                    sheet.Cells.SetColumnWidthPixel(3, 300);

                    if (!Directory.Exists(Path.Combine(folder, "Report")))
                    {
                        Directory.CreateDirectory(Path.Combine(folder, "Report"));
                    }

                    book.Save(Path.Combine(folder, "Report", id.ToString() + ".xlsx"), SaveFormat.Xlsx);

                    filelist.Add(fileentity);
                }
            }

            if (filelist.Count > 0)
            {
                var fileservice = new FileInfoService();
                fileservice.SaveFiles(filelist);
            }

            return(data);
        }