Как сделать текстовое значение для столбца в excel загруженным из gridview?
Как сделать текстовое значение для столбца в excel загруженным из gridview это мой код дизайна представления сетки. а код привязки находится на стороне бэкенда.
<asp:GridView ID="gridCustomer" runat="server" onrowdatabound="gridCustomer_RowDataBound" > <HeaderStyle CssClass="FrozenHeader" /> <Columns> <asp:TemplateField HeaderText="#"> <ItemTemplate> <%#Container.DataItemIndex + 1%> </ItemTemplate> <ItemStyle /> </asp:TemplateField> <asp:BoundField DataField="UserId" HeaderText="Account-No" /> <asp:TemplateField HeaderText="Name" > <ItemTemplate> <asp:LinkButton ID="linkName" runat="server" Text='<%#Eval("Name")%>' CommandArgument='<%#Eval("UserId")%>' CommandName="VIEW"></asp:LinkButton> </ItemTemplate> </asp:TemplateField> <asp:BoundField DataField="userName" HeaderText="Card No" /> <asp:TemplateField HeaderText="Status"> <ItemTemplate> <asp:Label ID="lblStatus" runat="server" Text='<%#Eval("Status")%>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:BoundField DataField="mobno" HeaderText="Mobile" /> <asp:BoundField DataField="TotalAmount_Tax" HeaderText="Balance(Inc.Tax)" /> <asp:BoundField DataField="PyingAmount" HeaderText="Last Paid Amount" /> <asp:BoundField DataField="LastPaidDate" HeaderText="Last Paid Date" /> <asp:BoundField DataField="UpdatedDtae" HeaderText="Last Updated Date" /> <asp:BoundField DataField="address" HeaderText="Address" /> <asp:BoundField DataField="areaname" HeaderText="Area" /> <asp:BoundField DataField="subarea" HeaderText="Sub Area" /> <asp:BoundField DataField="BoxTypeName" HeaderText="Box Type Name"/> <asp:BoundField DataField="SnNo" HeaderText="STB No" /> <asp:BoundField DataField="ChipOrMACId" HeaderText="SIM/MAC No" /> <asp:BoundField DataField="PackagePeriod" HeaderText="Package-Period" /> <asp:BoundField DataField="PackageName" HeaderText="Package-Name" /> <asp:BoundField DataField="ActivationDate" HeaderText="Activation-Date" /> <asp:BoundField DataField="AccountExpiry" HeaderText="Account-Expiry" /> <asp:BoundField DataField="EmpName" HeaderText="Attending User" /> <asp:BoundField DataField="AadharCard" HeaderText="Aadhar Card" /> <asp:BoundField DataField="NodeName" HeaderText="Node Name" /> <asp:BoundField DataField="CreatedDate" HeaderText="Created-Date" /> <asp:BoundField DataField="Type_Name" HeaderText="Connection Status" /> </Columns> </asp:GridView>
И этот приведенный ниже код экспортируется в excel из кода gridview этот метод я вызываю на событие download click.
Response.Clear(); Response.Buffer = true; Response.ClearContent(); Response.ClearHeaders(); Response.Charset = ""; string FileName = "CustomerData" + DateTime.Now + ".xls"; StringWriter strwritter = new StringWriter(); HtmlTextWriter htmltextwrtter = new HtmlTextWriter(strwritter); Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.ContentType = "application/vnd.ms-excel"; Response.AddHeader("Content-Disposition", "attachment;filename=" + FileName); gridCustomer.GridLines = GridLines.Both; gridCustomer.HeaderStyle.Font.Bold = true; gridCustomer.RenderControl(htmltextwrtter); Response.Write(strwritter.ToString()); Response.End();
Что я уже пробовал:
Я попробовал, как показано ниже
Response.Write("<style>.text { mso-number-format:\\@; } </style>");
и как ниже
<style type="text/css"> .text{ mso-number-format:"\@";/*force text*/ } </style> <pre><asp:BoundField DataField="SnNo" HeaderText="STB No" ControlStyle-CssClass="text"/>