При экспорте ретранслятора в excel с помощью ASP.NET C# получение содержимого HTML-тега
При экспорте ретранслятора в excel с помощью asp.net c# получение содержимого HTML-тега пожалуйста, помогите
Что я уже пробовал:
вот мой поддержки.aspx-файл код.
<asp:UpdatePanel runat="server" ID="updpnl"> <ContentTemplate> <asp:Panel runat="server" ID="Panelmapdetail" Height="280px" ScrollBars="Auto"> <table class="table table-hover table-nomargin table-colored-header"> <thead> <tr> <th>UniqID</th> <th>Customer Name</th> <th>Product1</th> <th>Product2</th> <th>Product3</th> <th></th> </tr> </thead> <tbody> <asp:Repeater runat="server" ID="rptrStudMarksDetails"> <ItemTemplate> <tr> <td style="display:none"><asp:Label ID="lbCustomerProduct" runat="server" Text='<%#Eval("CustomerProduct") %>'></asp:Label></td> <td><%#Eval("UniqID") %></td> <td><%#Eval("Customer Name") %></td> <td><%#Eval("Product1") %></td> <td><%#Eval("Product2") %></td> <td><%#Eval("Product2") %></td> </tr> </ItemTemplate> </asp:Repeater> </tbody> </table> </asp:Panel> </ContentTemplate> </asp:UpdatePanel> <asp:LinkButton runat="server" ID="lbnExport" OnClick="lbnExport_Click">Export to Excel</asp:LinkButton>
here is my customer.aspx.cs code.
protected void lbnExport_Click(object sender, EventArgs e) { string FileName12 = "123"; Response.ClearContent(); Response.Buffer = true; Response.AddHeader("content-disposition", "attachment;filename=" + FileName12 + ".xls"); Response.Charset = ""; Response.ContentType = "application/vnd.ms-excel"; StringWriter sw = new StringWriter(); HtmlTextWriter hw = new HtmlTextWriter(sw); rptrStudMarksDetails.RenderControl(hw); Response.Write(sw.ToString()); Response.Flush(); Response.End(); }
F-ES Sitecore
Вы ничего не экспортируете в Excel, вы просто возвращаете html и просите клиента использовать Excel, чтобы попытаться интерпретировать этот html как рабочий лист. Если он не может, тогда вы будете видеть странные вещи. Google для того, как создавать файлы Excel из asp.net, есть несколько бесплатных библиотек, которые могут сделать это для вас.
prasannakumarmp
Сэр, "F-ES Sitecore", я динамически связываю ретранслятор
F-ES Sitecore
Я имею в виду, что вы не создаете документ Excel.
prasannakumarmp
Пожалуйста, обратитесь к коду:
Ответ.AddHeader("content-disposition", "attachment;filename=" + FileName12 + ".xls");
F-ES Sitecore
Это говорит клиентскому браузеру, что если клиент решит сохранить файл, используйте это имя файла по умолчанию. Однако вы просто сохраняете html с расширением xls, поскольку именно html вы отправляете в ответе.
prasannakumarmp
Пожалуйста, пришлите мне пример кода.
F-ES Sitecore
Вместо этого используйте что-то вроде EPPlus
https://www.ryadel.com/en/asp-net-generate-excel-files-programmatically-epplus-guide-tutorial-mvc-core/
prasannakumarmp
Спасибо за ваше предложение(ссылка).