繁体   English   中英

导出到Excel中的C#错误

[英]Export to excel in C# error

我正在尝试使用此代码将我的面板导出到excel。

设计图

<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#代码:

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;

这是我想要在我的excel文件中的区域。 但是我在excel文件中也获得了包含母版页的整个页面。 如何避免整个页面,只获取excel文件中的面板?

您正在从ExcelPanel渲染HTML,因此它显示有关该面板更改面板到GridView所有HTML,因此它将从GridView获取HTML

更改

ExcelPanel.RenderControl(htmlWrite);

ExcelGridView.RenderControl(htmlWrite);

暂无
暂无

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

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