简体   繁体   English

导出到Excel中的C#错误

[英]Export to excel in C# error

I am trying to export my panel into excel using this code. 我正在尝试使用此代码将我的面板导出到excel。

Design : 设计图

<asp:Panel ID="ExcelPanel" runat="server" Visible="false">
    <asp:GridView ID="ExcelGridView" runat="server" AutoGenerateColumns="False" 
    Width="100%" CellPadding="3" ForeColor="#333333" GridLines="Both" ShowHeader="True" Visible="true" >   
        <Columns>
            <asp:TemplateField HeaderText="S. No." HeaderStyle-CssClass="gridViewHeader" ItemStyle-HorizontalAlign="left" SortExpression="wcName"  ItemStyle-Width="12%">
                <ItemTemplate>
                    <asp:Label ID="performanceReportTBMWCNameLabel" runat="server" Text='<%# Eval("SNo") %>' CssClass="gridViewItems"></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>
</asp:Panel>

C# Code : C#代码:

ExcelGridView.DataSource = gridviewdt;
ExcelGridView.DataBind();
ExcelPanel.Visible = true;
Response.Clear();
Response.ClearHeaders();
Response.ClearContent();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment;filename=file.xls");
Response.ContentType = "application/vnd.ms-excel";

StringWriter stringWrite = new StringWriter();
HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
ExcelPanel.RenderControl(htmlWrite);

Response.Write(stringWrite.ToString());

Response.Flush();
Response.End();
ExcelPanel.Visible = false;

This is the area I want to be in my excel file. 这是我想要在我的excel文件中的区域。 But I am getting the whole page with master page as well in the excel file. 但是我在excel文件中也获得了包含母版页的整个页面。 How can I avoid whole page and only get the panel in the excel file? 如何避免整个页面,只获取excel文件中的面板?

You are Rendering HTML from ExcelPanel hence it is showing All HTML regarding to That panel change panel to GridView so it will fetch HTML from GridView 您正在从ExcelPanel渲染HTML,因此它显示有关该面板更改面板到GridView所有HTML,因此它将从GridView获取HTML

change 更改

ExcelPanel.RenderControl(htmlWrite);

to

ExcelGridView.RenderControl(htmlWrite);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM