Как отобразить Tfoot, наконец, после tbody для отображения суммы целочисленных столбцов? - PullRequest
0 голосов
/ 01 апреля 2020

Я столкнулся с проблемой при экспорте данных в Excel. Я использовал HtmlTextWriter для экспорта данных в Excel. Теперь есть некоторый контент, который будет в теле. и общее количество некоторых целочисленных столбцов, которые я хочу отобразить в конце тела. под каким столбцом я должен отобразить, я могу это отрегулировать. Но вместо полного прихода, наконец, он идет на вершине. Кто-нибудь может направить меня в этом?

 public ActionResult ExportDataToExcel(string State, string Zone, string Amrac, string Store,
             string Hierarchy, string Itemcategorycode, string Itemcode, string Period,
             string discountType, string OfferNo, string UserID, DateTime CreatedOn,
             string DescriptionText, string DiscountSelectedText)
        {

            var dates = Utilities.GetDates(Period);
            var grdReport = new System.Web.UI.WebControls.GridView();
            DataTable tbl = new DataTable();
            //tbl = objCommon.GetDiscountGridDataTableFormat(State, Zone, Amrac, Store, Hierarchy, Itemcategorycode, Itemcode, dates.BeginDate,dates.EndDate, discountType, OfferNo);


            //var list = ((List<string>)Session["DiscountData"]).ToList();
            tbl = (DataTable)Session["DiscountData"];

            grdReport.DataSource = tbl;
            grdReport.DataBind();

            System.IO.StringWriter sw = new System.IO.StringWriter();
            System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw);
            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Table);

            #region Hierarchy Filter
            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Tr);
            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Th);
            htw.Write("Hierarchy Filter");
            htw.RenderEndTag();//end of th tag for hierarchy filter
            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
            htw.Write(State.Replace("'","")+">"+Zone.Replace("'", "") + ">"+Amrac.Replace("'", "") + ">"+Store.Replace("'", "")); 
            htw.RenderEndTag(); // end of TD tag for hierarchy 
            htw.RenderEndTag();//end of Hierarchy tr tag 
            #endregion

            #region ItemCategory Code

            // htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Br);
            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Tr);

            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Th);
            htw.Write("Category Filter");
            htw.RenderEndTag();//end of th tag for category filter

            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
            htw.Write(Itemcategorycode);
            htw.RenderEndTag(); // end of TD tag for ItemCategory 
            htw.RenderEndTag();//end of ItemCategory tr tag
                               // htw.RenderEndTag();//end of ItemCategory BR tag
            #endregion


            #region ITEM Code
            // htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Br);
            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Tr);
            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Th);
            htw.Write("Item Filter");
            htw.RenderEndTag();//end of th tag for ItemCode filter
            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
            htw.Write(Itemcode);
            htw.RenderEndTag(); // end of TD tag for ItemCode filter
            htw.RenderEndTag();//end of ItemCode filter tr tag
                               // htw.RenderEndTag();//end of ItemCode filter tr tag
            #endregion




            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Tr);
            htw.RenderEndTag();//breaking a row




            **///*Footer Call back data --want to display at the end */** 
            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Tfoot);

            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Tr); //break row 
            htw.RenderEndTag();//end tag for empty row. 

            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Tr);//this row will have data.

            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
            htw.RenderEndTag(); //state

            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
            htw.RenderEndTag(); //zone


            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
            htw.RenderEndTag(); //amro/rac/depot

            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
            htw.RenderEndTag(); //StoreCode

            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
            htw.RenderEndTag(); //OfferType

            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
            htw.RenderEndTag(); //DiscountType

            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
            htw.RenderEndTag(); //Offerno 

            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
            htw.RenderEndTag(); //Description

            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
            htw.RenderEndTag(); //receipt no 


            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
            htw.RenderEndTag(); //Transdate

            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
            htw.RenderEndTag(); //Category

            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
            htw.RenderEndTag(); //ItemCode

            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
            htw.RenderEndTag(); //LotNo

            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
            htw.RenderEndTag(); //ExpirationDate

            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
            htw.Write("Total:");
            htw.RenderEndTag(); //Quantity

            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
            htw.RenderEndTag(); //FreeItem


            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
            htw.Write("Total:");
            htw.RenderEndTag(); //NetValue

            htw.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
            htw.Write("Total:");
            htw.RenderEndTag(); //Discount



            htw.RenderEndTag(); //end tag for row with Data.

            htw.RenderEndTag(); //for Tfoot

            /*Tfoot ends*/

            htw.RenderEndTag(); //closing table tag
            grdReport.RenderControl(htw);
            byte[] bindata = System.Text.Encoding.ASCII.GetBytes(sw.ToString());



            //return File(bindata, "application/ms-excel", "DiscountReportFile.xls"); // .xls
            return File(bindata, "data: text / csv; charset = UTF - 8", "DiscountReportFile.csv"); // .xls

        }
...