通用方法:
/// <summary>
/// 导入Excel
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnImport_Click(object sender, EventArgs e)
{
![]()
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=FileName.xls");
Response.Charset = "GB2312";
Response.ContentType = "application/电子表格.xls";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
gvData.AllowPaging = false;
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
![]()
LoadData(); //数据绑定方法
![]()
gvData.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();
gvData.AllowPaging = true;
![]()
}
错误提示1:
类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内
解决方法:
加入如下代码:
小技巧:
如果需要调整导入到Excle时GV的格式
可以在绑定GV的时候写
例如:
gvData.Columns[gvData.Columns.Count - 1].Visible = false; //导入时要隐藏某一列
![]()
/// <summary>
/// 导入Excel
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnImport_Click(object sender, EventArgs e)
{
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=FileName.xls");
Response.Charset = "GB2312";
Response.ContentType = "application/电子表格.xls";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
gvData.AllowPaging = false;
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
LoadData(); //数据绑定方法
gvData.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();
gvData.AllowPaging = true;
}错误提示1:
类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内
解决方法:
加入如下代码:
public override void VerifyRenderingInServerForm(Control control)
{
}
错误提示2:
如果设置为 GetEncoding("GB2312"),导出的文件将会出现乱码。
解决方法:
可用Response.ContentEncoding = System.Text.Encoding.UTF7;
错误提示3:
当用GridView导出Execl的时候,会发生只能在执行 Render() 的过程中调用 RegisterForEventValidation的错误提示
解决方法:
小技巧:
如果需要调整导入到Excle时GV的格式
可以在绑定GV的时候写
例如:
gvData.Columns[gvData.Columns.Count - 1].Visible = false; //导入时要隐藏某一列


浙公网安备 33010602011771号