【发布时间】:2015-12-19 08:38:31
【问题描述】:
我阅读了很多关于 stackoverflow 和 code project 的文章,我也在我的代码和页面中实现了这一点。但我无法将gridview 数据导出到excel。我正在将我的gridview 与页面上的object datasource 绑定。但是没有成功导出到excel。你能告诉我我在做什么错误吗?我在下面给出的所有代码流。
<%@ Page Language="C#" Theme="Default" MasterPageFile="~/Order/Order.master" AutoEventWireup="true" CodeFile="ActiveOrders.aspx.cs" Inherits="ActiveOrders" Title="SimplyDispatch-ActiveOrders List" EnableEventValidation="false" %>
<data:EntityGridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnSelectedIndexChanged="GridView1_SelectedIndexChanged"
DataSourceID="ActiveOrdersDataSource" Width="100%" DataKeyNames="OrderNo" AllowMultiColumnSorting="false" DefaultSortColumnName="OrderNo" OnRowCommand="GridView1_RowCommond" OnRowDataBound="GridView1_OnRowDataBound" AllowSorting="true" DefaultSortDirection="Descending" PageSize="50" EnableViewState="true" >
<Columns>
<asp:BoundField DataField="OrderNo" HeaderStyle-HorizontalAlign="Right" ItemStyle-HorizontalAlign="Right" HeaderText="Order No" SortExpression="[OrderNo]" />
<asp:BoundField DataField="OrderDate" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" HtmlEncode="False" HeaderText="Order Date" SortExpression="[OrderDate]" />
</Columns>
<EmptyDataTemplate>
</EmptyDataTemplate>
</data:EntityGridView>
网格视图数据源
<data:ActiveOrdersDataSource ID="ActiveOrdersDataSource" runat="server" SelectMethod="GetPaged" EnablePaging="True" EnableSorting="True" EnableDeepLoad="True">
</data:ActiveOrdersDataSource>
我要导出到 excel 的代码如下
protected void ExportToExcel(object sender, EventArgs e)
{
try
{
Response.Clear();
Response.ClearHeaders();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment;filename=" + "Excelsheet_" + DateTime.Now.Ticks.ToString() + ".xls");
Response.Charset = "";
Response.ContentType = "application/vnd.xls";
StringWriter StringWriter = new System.IO.StringWriter();
HtmlTextWriter HtmlTextWriter = new HtmlTextWriter(StringWriter);
GridView1.AllowSorting = false;
GridView1.RenderControl(HtmlTextWriter);// render gridview control
Response.Write(StringWriter.ToString());
Response.End();
}
catch (Exception ex)
{
}
}
public override void VerifyRenderingInServerForm(Control control)
{
/* Confirms that an HtmlForm control is rendered for the specified ASP.NET
server control at run time. */
}
【问题讨论】:
-
什么不起作用?你有什么例外吗?
-
@VIVEK 没有收到任何错误但没有创建 excel 文件。代码执行成功。
标签: c# asp.net excel gridview export