在页面添加一个ID为ExportToExcelBtn的按钮,代码部分如下:
protected void ExportToExcelBtn_Click(object sender, EventArgs e)
{
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=lessons.xls");
Response.Charset = "gb2312";
Response.ContentType = "application/vnd.xls";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
gvLessons.AllowPaging = false;
gvLessons.DataBind();
gvLessons.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();
gvLessons.AllowPaging = true;
gvLessons.DataBind();
}
要重载VerifyRenderingInServerForm方法,不然将报错!
public override void VerifyRenderingInServerForm(Control control) { }
<asp:TemplateField HeaderText="类别" SortExpression="CategoryName">
<EditItemTemplate>
<asp:DropDownList ID="CategoryDDL2" runat="server" Width="180px"
SelectedValue='<%# Bind("CategoryID") %>'
DataSourceID="CategoryDS"
DataTextField="CategoryName" DataValueField="CategoryID">
</asp:DropDownList>
</EditItemTemplate>
<InsertItemTemplate>
<asp:DropDownList ID="CategoryDDL3" runat="server" Width="180px"
SelectedValue='<%# Bind("CategoryID") %>' DataSourceID="CategoryDS"
DataTextField="CategoryName" DataValueField="CategoryID">
</asp:DropDownList>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("CategoryName") %>'>
</asp:Label>
</ItemTemplate>
<UpdateParameters>
<asp:Parameter Name="LessonID" Type="Int32" />
<asp:Parameter Name="CategoryID" Type="Int32" />
<asp:Parameter Name="LessonName" Type="String" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="CategoryID" Type="Int32" />
<asp:Parameter Name="LessonName" Type="String" />
</InsertParameters>
<asp:TemplateField HeaderText="序号" InsertVisible="False" SortExpression="LessonID">