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); }