从GridView导出数据到EXCEL前台代码:
<body style="font-size:12px;">
<form id="form1" runat="server">
<div>
<div class="Noprint">
<table id="Table1" cellspacing="0" class="Table01" cellpadding="0" width="100%" border="0">
<tr>
<td valign="middle" style="height: 25px;">
<input class="ButtonCss" style="width: 48px;" onclick='document.execCommand("print")' type="button" value="打印" />
<asp:Button ID="btnExcel" runat="server" Text="导出到Excel" CssClass="ButtonCss" OnClick="btnExcel_Click"></asp:Button>
</td>
</tr>
</table></div>
<table id="Table2" width="100%" border="0" class="Table01" cellpadding="0" runat="server" cellspacing="0">
<tr>
<td><asp:GridView ID="GV1" runat="server" Width="100%" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="StaffName" HeaderText="姓名" />
<asp:BoundField DataField="DeptName" HeaderText="部门" />
<asp:BoundField DataField="RoleName" HeaderText="职位" />
<asp:BoundField DataField="StaffNum" HeaderText="人员编号" />
</Columns>
</asp:GridView>
</td>
</tr>
</table>
</div>
</form>
</body>
后台:
protected void btnExcel_Click(object sender, EventArgs e)
{
//导出到excel
GVStaff.AllowPaging = false;
Response.Clear();
Response.Buffer = true;
Response.Charset = "GB2312";
Response.AppendHeader("Content-Disposition", "attachment;filename=人员信息.xls");
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
this.EnableViewState = false;
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
GV1.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
}提示错误:类型“GridView”的控件“GV1”必须放在具有 runat=server 的窗体标记内。”
大家帮忙看看是什么原因
<body style="font-size:12px;">
<form id="form1" runat="server">
<div>
<div class="Noprint">
<table id="Table1" cellspacing="0" class="Table01" cellpadding="0" width="100%" border="0">
<tr>
<td valign="middle" style="height: 25px;">
<input class="ButtonCss" style="width: 48px;" onclick='document.execCommand("print")' type="button" value="打印" />
<asp:Button ID="btnExcel" runat="server" Text="导出到Excel" CssClass="ButtonCss" OnClick="btnExcel_Click"></asp:Button>
</td>
</tr>
</table></div>
<table id="Table2" width="100%" border="0" class="Table01" cellpadding="0" runat="server" cellspacing="0">
<tr>
<td><asp:GridView ID="GV1" runat="server" Width="100%" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="StaffName" HeaderText="姓名" />
<asp:BoundField DataField="DeptName" HeaderText="部门" />
<asp:BoundField DataField="RoleName" HeaderText="职位" />
<asp:BoundField DataField="StaffNum" HeaderText="人员编号" />
</Columns>
</asp:GridView>
</td>
</tr>
</table>
</div>
</form>
</body>
后台:
protected void btnExcel_Click(object sender, EventArgs e)
{
//导出到excel
GVStaff.AllowPaging = false;
Response.Clear();
Response.Buffer = true;
Response.Charset = "GB2312";
Response.AppendHeader("Content-Disposition", "attachment;filename=人员信息.xls");
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
this.EnableViewState = false;
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
GV1.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
}提示错误:类型“GridView”的控件“GV1”必须放在具有 runat=server 的窗体标记内。”
大家帮忙看看是什么原因
解决方案 »
- asp.net从excel中导入数据到数据库中发布后导入失败
- 请叫下这个读取数据的方法需要怎么改下更提高性能
- 如何用JS提示控件内输入的内容是否正确
- 考别人的。不知道该怎么做了~!回答正确马上结帐!
- 如何把二个表的相同数据合并在一个表??
- 新完成一列表控件,请大家给点意见!
- 这种情况如何取得DataGrid中选中的那一行?
- 请大侠指点,看似简单的问题:不用href,如何让<A onclick=...>DoIt </a>看起来象超链接(即鼠标变手)?
- 怪问题?无法创建和记录日志(100分求解)
- 求另一个页面调用日历日期返回框架中某个文本框的例子。。
- 求1个超简单的javascipt
- 【推荐大散分】
{
// base.VerifyRenderingInServerForm(control);
}在再这页的aspx文件<%@ Page Language="C#" AutoEventWireup="true" %>
中加上EnableEventValidation="false"
肯定没有问题