asp.net gridview中数据导出excel,该如何解决
asp.net gridview中数据导出excel
前台代码
后台代码
导出的不是gridview的数据,而是整个网页的页面,怎么回事?
------解决思路----------------------
GridView控件导出Excel示例
//CridView前台设置
<asp:GridView ID="GridView1" runat="server" BackColor="White" BorderColor="#DEDFDE"
BorderStyle="None" BorderWidth="1px" CellPadding="4" Font-Size="11pt" ForeColor="Black"
GridLines="Vertical" AutoGenerateColumns="False" OnRowDataBound="GridView1_RowDataBound">
<FooterStyle BackColor="#CCCC99" />
<RowStyle BackColor="#F7F7DE" />
<SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />
<HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:BoundField DataField="商品ID" HeaderText="商品ID" />
<asp:BoundField DataField="商品名称" HeaderText="商品名称" />
<asp:BoundField DataField="商品介绍" HeaderText="商品介绍" />
<asp:BoundField DataField="商品价格" HeaderText="商品价格" />
</Columns>
</asp:GridView>
//后台处理
SqlConnection sqlcon = new SqlConnection(ConfigurationManager.AppSettings["conStr"]);
protected void Page_Load(object sender, EventArgs e)//加载数据
{
if (!IsPostBack)
{
bind();//调用自定义方法
}
}
private void bind()
{
SqlDataAdapter myda = new SqlDataAdapter("select top 10 GoodsID as 商品ID,GoodsName as 商品名称,GoodsIntroduce as 商品介绍,GoodsPrice as 商品价格 from tb_GoodsInfo", sqlcon);
前台代码
<div style="overflow-y: scroll; height:545px; width:100%" runat="server">
<asp:GridView ID="GridView1" runat="server" Width="100%"></asp:GridView></div>
后台代码
public override void VerifyRenderingInServerForm(Control control)
{
}
protected void Button2_Click(object sender, EventArgs e)
{
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=FileName.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);
GridView1.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();
}
导出的不是gridview的数据,而是整个网页的页面,怎么回事?
------解决思路----------------------
GridView控件导出Excel示例
//CridView前台设置
<asp:GridView ID="GridView1" runat="server" BackColor="White" BorderColor="#DEDFDE"
BorderStyle="None" BorderWidth="1px" CellPadding="4" Font-Size="11pt" ForeColor="Black"
GridLines="Vertical" AutoGenerateColumns="False" OnRowDataBound="GridView1_RowDataBound">
<FooterStyle BackColor="#CCCC99" />
<RowStyle BackColor="#F7F7DE" />
<SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />
<HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:BoundField DataField="商品ID" HeaderText="商品ID" />
<asp:BoundField DataField="商品名称" HeaderText="商品名称" />
<asp:BoundField DataField="商品介绍" HeaderText="商品介绍" />
<asp:BoundField DataField="商品价格" HeaderText="商品价格" />
</Columns>
</asp:GridView>
//后台处理
SqlConnection sqlcon = new SqlConnection(ConfigurationManager.AppSettings["conStr"]);
protected void Page_Load(object sender, EventArgs e)//加载数据
{
if (!IsPostBack)
{
bind();//调用自定义方法
}
}
private void bind()
{
SqlDataAdapter myda = new SqlDataAdapter("select top 10 GoodsID as 商品ID,GoodsName as 商品名称,GoodsIntroduce as 商品介绍,GoodsPrice as 商品价格 from tb_GoodsInfo", sqlcon);