0
我正在尝试使用此代码将我的面板导出到excel中。在C#中导出为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文件中获取面板?
所有HTML面板只包含gridview。其他一切都在面板之外。所以,我使用面板来优化。如果我从面板中删除gridview,那么我不会占用整个页面,但在面板内部使用gridview时,它会占用整个页面。 – Rohan 2015-02-11 06:55:56