Я столкнулся с проблемой при экспорте данных в 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
}