public ActionResult ExportByWorkType()
        {
            ExportByWorkTypeArgs exportByWorkTypeArgs = base.RequestArgs <ExportByWorkTypeArgs>();

            exportByWorkTypeArgs.Domain = base.UserContext.Domain.Id;
            FileInfo fileInfo = new FileInfo(ExcelHelper.ExportWorkType(_environment.ContentRootPath, exportByWorkTypeArgs));

            return(this.RespondDataResult(fileInfo.Name));
        }
        public ActionResult ExportByWorkType()
        {
            ExportByWorkTypeArgs exportByWorkTypeArgs = base.RequestArgs <ExportByWorkTypeArgs>();

            exportByWorkTypeArgs.Domain = base.UserContext.Domain.Id;
            FileInfo fileInfo = new FileInfo(ExcelHelper.ExportWorkType(base.Server.MapPath("/"), exportByWorkTypeArgs));

            return(this.RespondDataResult(fileInfo.Name));
        }
        public static string ExportWorkType(string rootPath, ExportByWorkTypeArgs args)
        {
            List <WeeklyReport> arg_2E_0 = ExcelHelper._weeklyReportManager.GetWeeklyReportListByWorkType(args.Domain, args.WorkType, args.WorkTask, args.Year, args.WeekOfYear);
            List <WeeklyReport> list     = new List <WeeklyReport>();

            foreach (WeeklyReport current in arg_2E_0)
            {
                if (args.UserList.Contains(current.User))
                {
                    list.Add(current);
                }
            }
            if (list.Count == 0)
            {
                return(null);
            }
            string text = "全部项目";

            if (args.WorkType.HasValue)
            {
                WorkType workType = ExcelHelper._settingsManager.GetWorkType(args.WorkType.Value);
                if (workType == null)
                {
                    text = "未知";
                }
                else
                {
                    text = workType.Name;
                }
            }
            string text2 = "全部子项目";

            if (args.WorkTask.HasValue)
            {
                WorkTask workTask = ExcelHelper._settingsManager.GetWorkTask(args.WorkTask.Value);
                if (workTask == null)
                {
                    text2 = "未知";
                }
                else
                {
                    text2 = workTask.Name;
                }
            }
            IWorkbook  workbook    = null;
            FileStream fileStream  = null;
            string     text3       = Path.Combine(rootPath, ExcelHelper._templateFile);
            FileStream fileStream2 = new FileStream(text3, FileMode.Open, FileAccess.Read, FileShare.Read);

            if (text3.IndexOf(".xlsx") > 0)
            {
                workbook = new XSSFWorkbook(fileStream2);
            }
            else if (text3.IndexOf(".xls") > 0)
            {
                workbook = new HSSFWorkbook(fileStream2);
            }
            ISheet sheet = null;
            string text5;

            try
            {
                sheet = workbook.GetSheetAt(0);
                string text4 = list[0].Monday.ToString("yyyyMMdd") + "-";
                text4 += list[list.Count - 1].Sunday.ToString("yyyyMMdd");
                text4 += "-";
                text4  = string.Concat(new string[]
                {
                    text4,
                    text,
                    "-",
                    text2,
                    "-周报"
                });
                sheet.GetRow(0).GetCell(0).SetCellValue(text4);
                ICellStyle cellStyle = workbook.CreateCellStyle();
                cellStyle.BorderBottom      = BorderStyle.Thin;
                cellStyle.BorderLeft        = BorderStyle.Thin;
                cellStyle.BorderRight       = BorderStyle.Thin;
                cellStyle.BorderTop         = BorderStyle.Thin;
                cellStyle.VerticalAlignment = VerticalAlignment.Center;
                cellStyle.WrapText          = true;
                int num = 2;
                foreach (WeeklyReport current2 in list)
                {
                    int firstRow = num;
                    foreach (WeeklyReportItem current3 in current2.ItemList)
                    {
                        IRow expr_27C = sheet.CreateRow(num);
                        expr_27C.Height = 350;
                        expr_27C.CreateCell(0).SetCellValue(current2.Monday.ToString("yyyyMMdd") + "-" + current2.Sunday.ToString("yyyyMMdd"));
                        expr_27C.CreateCell(1).SetCellValue(current3.OrganizationName);
                        expr_27C.CreateCell(2).SetCellValue(current2.UserName);
                        expr_27C.CreateCell(3).SetCellValue(current3.WorkTypeName);
                        expr_27C.CreateCell(4).SetCellValue(current3.WorkTaskName);
                        expr_27C.CreateCell(5).SetCellValue(current3.Content.Replace("<br/>", "\r\n"));
                        expr_27C.CreateCell(6).SetCellValue(current3.StatusName);
                        ICell cell = expr_27C.CreateCell(7);
                        if (current3.Date.HasValue)
                        {
                            cell.SetCellValue(current3.Date.Value.ToString("yyyy-MM-dd"));
                        }
                        using (List <ICell> .Enumerator enumerator3 = expr_27C.Cells.GetEnumerator())
                        {
                            while (enumerator3.MoveNext())
                            {
                                enumerator3.Current.CellStyle = cellStyle;
                            }
                        }
                        num++;
                    }
                    CellRangeAddress region = new CellRangeAddress(firstRow, num - 1, 0, 0);
                    sheet.AddMergedRegion(region);
                    region = new CellRangeAddress(firstRow, num - 1, 1, 1);
                    sheet.AddMergedRegion(region);
                    region = new CellRangeAddress(firstRow, num - 1, 2, 2);
                    sheet.AddMergedRegion(region);
                }
                text5      = Path.Combine(rootPath, "ExcelExport", text4 + "(" + DateTime.Now.ToString("ddHHmmss") + ").xls");
                fileStream = new FileStream(text5, FileMode.OpenOrCreate, FileAccess.Write);
                workbook.Write(fileStream);
            }
            catch (Exception arg_48C_0)
            {
                throw arg_48C_0;
            }
            finally
            {
                fileStream2.Close();
                fileStream2.Dispose();
                if (fileStream != null)
                {
                    fileStream.Flush();
                    fileStream.Close();
                    fileStream.Dispose();
                }
            }
            return(text5);
        }