protected void submit2_Click(object sender, EventArgs e) { try { ErrorMsg1.Visible = false; Database dbObj = new Database(HyperCatalog.Business.ApplicationSettings.Components["Datawarehouse_DB"].ConnectionString); DataSet ds = new DataSet(); QMReportsClass QS = new QMReportsClass(); String Biz1 = QS.getSelectedValues(BusinessList1); String Cultures1 = QS.getSelectedValues(CulturesList1); if (Biz1.Length == 0 || Cultures1.Length == 0) { ErrorMsg1.Text = "Invalid selection"; Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "ClientScript", "alert('" + ErrorMsg1.Text + "');", true); //ErrorMsg.Visible = true; } else { ds = dbObj.RunSPReturnDataSet("Non_Compatibilities_Generate", new SqlParameter("@Business", Biz1), new SqlParameter("@RegionName", Cultures1), new SqlParameter("@Code", this.code1)); // QC777 If the number of rows returned by the dataset is less than 65536, the report will be generated in excel format if (ds.Tables[0].Rows.Count > 0 && ds.Tables[0].Rows.Count < 65536) { string BizList1 = ""; string Regions1 = ""; QMReportsClass objQMReports = new QMReportsClass(); BizList1 = objQMReports.GetSelectedBiz_Reg(1, Biz1, this.code1); Regions1 = objQMReports.GetSelectedBiz_Reg(0, Cultures1, 0); System.IO.StringWriter tw = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw); System.Text.StringBuilder sb = new System.Text.StringBuilder(string.Empty); sb.Append("<html><head>"); // sb.Append("<meta http-equiv='Content-Type' content='text/html; charset=" + page.Request.ContentEncoding.WebName+ "'>"); sb.Append("</head><body style='font-size: 14; font-family:Arial Unicode MS'>"); // item name sb.Append("<table style='font-size: 14; font-family:Arial Unicode MS' border = '1'>"); // sb.Append("<tr>"); sb.Append("PRODUCTS WITHOUT COMPATIBILITIES REPORT" + "<br>"); sb.Append("Selected " + BUType1.Text + ": " + BizList1 + "<br>"); sb.Append("Selected " + Label2.Text + ": " + Regions1 + "<br>"); sb.Append("Exported On: " + SessionState.User.FormatUtcDate(DateTime.UtcNow, true, "MM/dd/yyyy") + "<br>"); sb.Append("Generated By:" + SessionState.User.FullName + "<br>"); DataTable dt = ds.Tables[0]; sb.Append("</TR>"); #region "Header" DataColumnCollection tableColumns = ds.Tables[0].Columns; DataRowCollection tableRows = ds.Tables[0].Rows; sb.Append("<tr>"); foreach (DataColumn c in tableColumns) { sb.Append("<th>" + c.ColumnName.ToString() + "</th>"); } #endregion foreach (DataRow dr in dt.Rows) { sb.Append("<tr>"); foreach (DataColumn dc in dt.Columns) { sb.Append("<td>" + dr[dc].ToString() + "</td>"); } sb.Append("</tr>"); } sb.Append("</table>"); sb.Append("</body></html>"); Response.Clear(); Response.ClearContent(); Response.ClearHeaders(); Response.Charset = string.Empty; Response.AddHeader("content-disposition", "attachment;filename=" + "Products_Without_Compatibilities" + ".xls"); Response.ContentType = "application/vnd.ms-excel;"; //page.Response.ContentType = "application/vnd.ms-excel;charset=UTF-8"; //Fix for CR 5109 - Prabhu R S Response.ContentEncoding = System.Text.Encoding.UTF8; //page.Response.AppendHeader("Content-Length", System.Text.Encoding.UTF8.GetByteCount(exportContent).ToString()); EnableViewState = false; Response.Write(sb.ToString()); } // QC777 If the number of rows returned by the dataset is greater than 65536, the report will be generated in CSV format else if (ds.Tables[0].Rows.Count > 0 && ds.Tables[0].Rows.Count > 65536) { char csvSeparator = ','; string BizList1 = ""; string Regions1 = ""; QMReportsClass objQMReports = new QMReportsClass(); BizList1 = objQMReports.GetSelectedBiz_Reg(1, Biz1, code1); Regions1 = objQMReports.GetSelectedBiz_Reg(0, Cultures1, 0); ListItemCollection lstItemCol = new ListItemCollection(); lstItemCol.Add(new ListItem("Selected " + BUType1.Text + ": " + BizList1 + "")); lstItemCol.Add(new ListItem("Selected " + Label2.Text + ": " + Regions1 + "")); string s = Utils.ExportDataTableToCSVForSpecificReport(ds.Tables[0], csvSeparator.ToString(), lstItemCol, "PRODUCTS WITHOUT COMPATIBILITIES REPORT").ToString(); System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding(); byte[] contentBytes = encoding.GetBytes(s); Response.Clear(); Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("Accept-Header", contentBytes.Length.ToString()); Response.ContentType = "application/txt"; //Fix for CR 5109 - Prabhu R S Response.ContentEncoding = System.Text.Encoding.UTF8; Response.AppendHeader("Content-Disposition", "attachment;filename=\"Products_Without_Compatibilities.csv\"; " + "size=" + s.Length.ToString() + "; " + "creation-date=" + DateTime.Now.ToString("R") + "; " + "modification-date=" + DateTime.Now.ToString("R") + "; " + "read-date=" + DateTime.Now.ToString("R")); Response.OutputStream.Write( contentBytes, 0, Convert.ToInt32(contentBytes.Length)); Response.Flush(); try { Response.End(); } catch { } } //QC 777 end else { ErrorMsg1.Text = "No Records to be exported"; Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "ClientScript", "alert('" + ErrorMsg1.Text + "');", true); //ErrorMsg1.Visible = true; } } } catch (Exception ex) { Response.Write(ex.Message.ToString()); } }
protected void btnSubmit_Click(object sender, EventArgs e) { Database dbObj = new Database(HyperCatalog.Business.ApplicationSettings.Components["Datawarehouse_DB"].ConnectionString, 1000); ErrorMsg.Visible = false; try { ErrorMsg.Visible = false; QMReportsClass Obj_QMReportsClass = new QMReportsClass(); String Biz = Obj_QMReportsClass.getSelectedValues(BusinessList); if (Biz == null) { ErrorMsg.Text = "Invalid selection"; Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "ClientScript", "alert('" + ErrorMsg.Text + "');", true); } DataSet ds4 = new DataSet(); if (this.code == 3) { ds4 = dbObj.RunSPReturnDataSet("Report_GetAccessAttributePl", new SqlParameter("@PLCode", Biz), new SqlParameter("@ShortCode", ddlGeography.SelectedValue)); } else { ds4 = dbObj.RunSPReturnDataSet("Report_GetAccessAttributeOrg", new SqlParameter("@OrgId", Biz), new SqlParameter("@ShortCode", ddlGeography.SelectedValue), new SqlParameter("@Code", this.code)); } if (ds4.Tables[0].Rows.Count > 0) { DataTable objDt = new DataTable(); objDt.Columns.Add(new DataColumn("ProductNumber")); objDt.Columns.Add(new DataColumn("ProductName")); objDt.Columns.Add(new DataColumn("ProductLineNo")); objDt.Columns.Add(new DataColumn("Status")); objDt.Columns.Add(new DataColumn("LiveDate")); objDt.Columns.Add(new DataColumn("ObsoleteDate")); objDt.Columns.Add(new DataColumn(Convert.ToString(ds4.Tables[0].Rows[0]["ContainerName"]))); for (int rowIndex = 1; rowIndex < ds4.Tables[0].Rows.Count; rowIndex++) { string curColumn = ds4.Tables[0].Rows[rowIndex]["ContainerName"].ToString(); if (!objDt.Columns.Contains(curColumn)) { objDt.Columns.Add(new DataColumn(curColumn)); } } for (int i = 0; i < ds4.Tables[0].Rows.Count; i++) { DataRow[] drCol = objDt.Select("ProductNumber='" + ds4.Tables[0].Rows[i]["ProductNumber"].ToString() + "'"); if (drCol.Length > 0) { drCol[0]["ProductNumber"] = ds4.Tables[0].Rows[i]["ProductNumber"]; drCol[0]["ProductName"] = ds4.Tables[0].Rows[i]["ProductName"]; drCol[0]["ProductLineNo"] = ds4.Tables[0].Rows[i]["ProductLineNo"]; drCol[0]["Status"] = ds4.Tables[0].Rows[i]["Status"]; drCol[0]["LiveDate"] = ds4.Tables[0].Rows[i]["LiveDate"]; drCol[0]["ObsoleteDate"] = ds4.Tables[0].Rows[i]["ObsoleteDate"]; drCol[0][ds4.Tables[0].Rows[i]["ContainerName"].ToString()] = ds4.Tables[0].Rows[i]["ChunkValue"]; } else { DataRow newRow = objDt.NewRow(); newRow[0] = ds4.Tables[0].Rows[i]["ProductNumber"].ToString(); newRow[ds4.Tables[0].Rows[i]["ContainerName"].ToString()] = ds4.Tables[0].Rows[i]["ChunkValue"]; objDt.Rows.Add(newRow); } objDt.AcceptChanges(); } System.Text.StringBuilder sb = new System.Text.StringBuilder(string.Empty); sb.Append("<html><head>"); sb.Append("</head><body style='font-size: 14; font-family:Arial Unicode MS'>"); sb.Append("<table style='font-size: 14; font-family:Arial Unicode MS' border = '1'>"); sb.Append("Accessories with Attributes Report" + "<br>"); string BizList = Obj_QMReportsClass.GetSelectedBiz_Reg(1, Biz, code); sb.Append("Selected " + BUType.Text + ": " + BizList + "<br>"); sb.Append("Selected Region :" + ddlGeography.SelectedItem + "<br>"); sb.Append("Exported On: " + SessionState.User.FormatUtcDate(DateTime.UtcNow, true, "MM/dd/yyyy") + "<br>"); sb.Append("Exported By: " + SessionState.User.FullName + "<br>"); sb.Append("</TR>"); #region "Header" DataColumnCollection tableColumns = objDt.Columns; DataRowCollection tableRows = objDt.Rows; sb.Append("<tr>"); foreach (DataColumn c in tableColumns) { sb.Append("<th style='font-size: 14; font-family:Arial Unicode MS'>" + c.ColumnName.ToString() + "</th>"); } #endregion foreach (DataRow dr in objDt.Rows) { sb.Append("<tr>"); foreach (DataColumn dc in objDt.Columns) { sb.Append("<td>" + dr[dc].ToString() + "</td>"); } sb.Append("</tr>"); } sb.Append("</table>"); sb.Append("</body></html>"); Response.Clear(); Response.ClearContent(); Response.ClearHeaders(); Response.Charset = string.Empty; Response.AddHeader("content-disposition", "attachment;filename=" + "Accessories With Attributes" + ".xls"); Response.ContentType = "application/vnd.ms-excel;"; //Fix for CR 5109 - Prabhu R S Response.ContentEncoding = System.Text.Encoding.UTF8; EnableViewState = false; Response.Write(sb.ToString()); } else { ErrorMsg.Text = "No Records to be exported"; Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "ClientScript", "alert('" + ErrorMsg.Text + "');", true); } } catch (Exception ex) { Response.Write(ex.Message.ToString()); } }