protected void Page_Load(object sender, EventArgs e) { const string reportTemplateName = "ChangesReportTemplate.docx"; var foundryName = Request.Params["FOUNDRY_NAME"]; var fromDate = Request.Params["FROM_DATE"]; var toDate = Request.Params["TO_DATE"]; //date is expected in dd/MM/yyyy format from the url if (!String.IsNullOrEmpty(fromDate)) { fromDate = DateTime.Parse(fromDate, CustomCulture).ToString("dd-MM-yyyy"); } if (!String.IsNullOrEmpty(toDate)) { toDate = DateTime.Parse(toDate, CustomCulture).ToString("dd-MM-yyyy"); } if (string.IsNullOrEmpty(reportTemplateName)) { return; } var generationInfo = GetDocumentGenerationInfo("ChangesReportGenerator", "1.0", GetDataContext(), reportTemplateName, false); var sampleDocumentGenerator = new ChangesReportGenerator(generationInfo, String.IsNullOrEmpty(foundryName) ? "All" : foundryName, fromDate, toDate); byte[] result = sampleDocumentGenerator.GenerateDocument(); var filePath = WriteOutputToFile("ChangesReportTemplate" + DateTime.Now.ToString("SSMIHH") + ".docx", result); using (var wordDocument = WordprocessingDocument.Open(filePath, true)) { wordDocument.ChangeDocumentType(WordprocessingDocumentType.Document); var mainDocumentPart = wordDocument.MainDocumentPart; var document = mainDocumentPart.Document; // Clean up: The user will appreciate a clean document! var helper = new OpenXmlHelper(DocumentGenerationInfo.NamespaceUri); helper.RemoveContentControlsAndKeepContents(document); document.Save(); } //download the file to the user string filename = "ChangesReport" + foundryName + ".docx"; Response.ContentType = "application/ms-word"; Response.AddHeader("content-disposition", "attachment; filename=" + filename); Response.TransmitFile(filePath); Response.Flush(); //clean up the file File.Delete(filePath); Response.End(); }
protected void Page_Load(object sender, EventArgs e) { const string reportTemplateName = "ChangesReportTemplate.docx"; var foundryName = Request.Params["FOUNDRY_NAME"]; var fromDate = Request.Params["FROM_DATE"]; var toDate = Request.Params["TO_DATE"]; //date is expected in dd/MM/yyyy format from the url if (!String.IsNullOrEmpty(fromDate)) { fromDate = DateTime.Parse(fromDate, CustomCulture).ToString("dd-MM-yyyy"); } if(!String.IsNullOrEmpty(toDate)) { toDate = DateTime.Parse(toDate, CustomCulture).ToString("dd-MM-yyyy"); } if (string.IsNullOrEmpty(reportTemplateName)) return; var generationInfo = GetDocumentGenerationInfo("ChangesReportGenerator", "1.0", GetDataContext(), reportTemplateName, false); var sampleDocumentGenerator = new ChangesReportGenerator(generationInfo, String.IsNullOrEmpty(foundryName) ? "All" : foundryName, fromDate, toDate); byte[] result = sampleDocumentGenerator.GenerateDocument(); var filePath = WriteOutputToFile("ChangesReportTemplate" + DateTime.Now.ToString("SSMIHH") + ".docx", result); using (var wordDocument = WordprocessingDocument.Open(filePath, true)) { wordDocument.ChangeDocumentType(WordprocessingDocumentType.Document); var mainDocumentPart = wordDocument.MainDocumentPart; var document = mainDocumentPart.Document; // Clean up: The user will appreciate a clean document! var helper = new OpenXmlHelper(DocumentGenerationInfo.NamespaceUri); helper.RemoveContentControlsAndKeepContents(document); document.Save(); } //download the file to the user string filename = "ChangesReport" + foundryName + ".docx"; Response.ContentType = "application/ms-word"; Response.AddHeader("content-disposition", "attachment; filename="+filename); Response.TransmitFile(filePath); Response.Flush(); //clean up the file File.Delete(filePath); Response.End(); }