static private SheetData GenerateSheetdataForDetails(SummaryModelList data) { SheetData sheetData1 = new SheetData(); sheetData1.Append(CreateHeaderRowForExcelS()); foreach (SummaryModel testmodel in data.testData) { Row partsRows = GenerateRowForChildPartDetail(testmodel); sheetData1.Append(partsRows); } return(sheetData1); }
static private void CreatePartsForExcel(SpreadsheetDocument document, SummaryModelList data) { SheetData partSheetData = GenerateSheetdataForDetails(data); WorkbookPart workbookPart1 = document.AddWorkbookPart(); GenerateWorkbookPartContent(workbookPart1); WorkbookStylesPart workbookStylesPart1 = workbookPart1.AddNewPart <WorkbookStylesPart>("rId3"); GenerateWorkbookStylesPartContent(workbookStylesPart1); WorksheetPart worksheetPart1 = workbookPart1.AddNewPart <WorksheetPart>("rId1"); GenerateWorksheetPartContent(worksheetPart1, partSheetData); }
static public MemoryStream CreateExcelFile(SummaryModelList data, string OutPutFileDirectory) { var datetime = DateTime.Now.ToString().Replace("/", "_").Replace(":", "_"); string fileFullname = String.Empty; fileFullname = Path.Combine(OutPutFileDirectory, "Outputz_" + datetime + ".xlsx"); using (SpreadsheetDocument package = SpreadsheetDocument.Create(fileFullname, SpreadsheetDocumentType.Workbook)) { CreatePartsForExcel(package, data); } MemoryStream ms = new MemoryStream(); using (FileStream file = new FileStream(fileFullname, FileMode.Open, FileAccess.Read)) file.CopyTo(ms); File.Delete(fileFullname); return(ms); }
public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req, ILogger log) { log.LogInformation("C# HTTP trigger function processed a request."); string result; int counter = 0; reportType = req.Headers["reporttype"]; orderby = req.Headers["orderby"]; // log.LogInformation(orderby + "*************************"); if (String.IsNullOrEmpty(reportType)) { reportType = "A"; } if (String.IsNullOrEmpty(orderby)) { orderby = ""; } result = String.Empty; if (reportType != "S") { TestModelList tmList = new TestModelList(); tmList.testData = new List <TestModel>(); TestModel tm; try { using (SqlConnection conn = new SqlConnection(System.Environment.GetEnvironmentVariable("SQLDB"))) { using (SqlCommand cmd = new SqlCommand()) { cmd.CommandText = "sp_CodeCdt_StaffList"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@order", orderby); cmd.Connection = conn; conn.Open(); using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { tm = new TestModel(); if (reader.IsDBNull(0)) { tm.EmployeeId = ""; } else { tm.EmployeeId = reader.GetString(0); } if (tm.EmployeeId.StartsWith('0')) { tm.EmployeeId = "'" + tm.EmployeeId; } if (reader.IsDBNull(1)) { tm.StaffNo = ""; } else { tm.StaffNo = reader.GetString(1); } if (reader.IsDBNull(2)) { tm.DisplayName = ""; } else { tm.DisplayName = reader.GetString(2); } if (reader.IsDBNull(3)) { tm.IsConflictOfInterest = ""; } else { tm.IsConflictOfInterest = reader.GetBoolean(3).ToString(); } if (reader.IsDBNull(4)) { tm.signed_Date = ""; } else { tm.signed_Date = reader.GetString(4); } if (reader.IsDBNull(5)) { tm.Company = ""; } else { tm.Company = reader.GetString(5); } if (reader.IsDBNull(6)) { tm.BusinessUnit = ""; } else { tm.BusinessUnit = reader.GetString(6); } if (reader.IsDBNull(7)) { tm.DivisionName = ""; } else { tm.DivisionName = reader.GetString(7); } if (reader.IsDBNull(8)) { tm.DepartmentName = ""; } else { tm.DepartmentName = reader.GetString(8); } if (reader.IsDBNull(9)) { tm.SectionName = ""; } else { tm.SectionName = reader.GetString(9); } if (reader.IsDBNull(10)) { tm.LastUpdateDate = ""; } else { tm.LastUpdateDate = reader.GetString(10); //.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture); } if (reader.IsDBNull(14)) { tm.OriginalFileName = ""; } else { tm.OriginalFileName = reader.GetString(14); } if (reader.IsDBNull(15)) { tm.HRStatus = "Invalid"; } else { if (reader.GetBoolean(15) == true) { tm.HRStatus = "Reviewed"; } else { tm.HRStatus = "Reviewing"; } } tmList.testData.Add(tm); counter++; } } } } MemoryStream ms = CreateExcelFile(tmList, @"D:\local\Temp"); byte[] data = ms.ToArray(); return(new FileContentResult(data, "application/octet-stream")); //data = File.ReadAllBytes(file.toPath()); } catch (Exception ex) { log.LogError(ex.Message); return(new OkObjectResult(ex.Message)); } //string requestBody = await new StreamReader(req.Body).ReadToEndAsync(); // parse query parameter } else { log.LogInformation("***********Summary*****************"); SummaryModelList smList = new SummaryModelList(); smList.testData = new List <SummaryModel>(); SummaryModel sm; try { log.LogInformation(yeartermId.ToString()); using (SqlConnection conn = new SqlConnection(System.Environment.GetEnvironmentVariable("SQLDB"))) { using (SqlCommand cmd = new SqlCommand()) { cmd.CommandText = "sp_CodeCdt_Summary"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@orderby", orderby); cmd.Connection = conn; conn.Open(); using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { sm = new SummaryModel(); if (reader.IsDBNull(0)) { sm.BusinessUnit = String.Empty; } else { sm.BusinessUnit = reader.GetString(0); } if (reader.IsDBNull(1)) { sm.Division = String.Empty; } else { sm.Division = reader.GetString(1); } if (reader.IsDBNull(2)) { sm.Company = String.Empty; } else { sm.Company = reader.GetString(2); } if (reader.IsDBNull(3)) { sm.Department = String.Empty; } else { sm.Department = reader.GetString(3); } sm.Signed = reader.GetInt32(4).ToString(); sm.NotSigned = reader.GetInt32(5).ToString(); sm.Reviewing = reader.GetInt32(6).ToString(); sm.Reviewed = reader.GetInt32(7).ToString(); sm.Total = (reader.GetInt32(4) + reader.GetInt32(5) + reader.GetInt32(6) + reader.GetInt32(7)).ToString(); smList.testData.Add(sm); counter++; } } } } log.LogInformation("start generate excel---------"); MemoryStream ms = CreateExcelFile(smList, @"D:\local\Temp"); byte[] data = ms.ToArray(); return(new FileContentResult(data, "application/octet-stream")); } catch (Exception ex) { log.LogError(ex.Message); return(new OkObjectResult(ex.Message)); } } //return new OkObjectResult("Import Success"); }