gridview导入到excel最简单的方法

来源:互联网 发布:c语言创建二叉树 编辑:程序博客网 时间:2024/05/17 00:11

 public override void VerifyRenderingInServerForm(Control control) { }//必须重写的一个方法,不然不能导出

 

    protected void Out_Click(object sender, EventArgs e)//导出按钮

    {

        Gridview1.Width = Unit.Empty;

        

        //先把修改信息列和删除信息列隐藏不让他输出

        Gridview1.Columns[Gridview1.Columns.Count - 1].Visible = false;

        Gridview1.Columns[Gridview1.Columns.Count - 2].Visible = false;

 

        //再把分页功能设置为false,之后再重新绑定

        Gridview1.AllowPaging = false;

        Query_Click(sender, null);

 

 

        System.Web.HttpContext curContext = System.Web.HttpContext.Current;

 

        curContext.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");//改成utf-8就会出现乱码

        curContext.Response.ContentType = "application/excel";

        curContext.Response.Charset = "utf-8";

        curContext.Response.ClearContent();

        curContext.Response.AddHeader("content-disposition", "attachment; filename=gradeinfo.xls");

 

        StringWriter sw = new StringWriter();

 

        System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw);

 

        Gridview1.RenderControl(htw);

        Gridview1.Dispose();

 

 

 

        curContext.Response.Write(sw.ToString());

 

        curContext.Response.End();

    }

 

 

但是今天突然发现一个问题,用这个方法保存的excel在本地打开的时候windows install要提示安装vs2008(我机子上有vs2008ide),最后搞了半天还是没有解决办法。毕业设计演示系统的时候弹出这个bug多尴尬,现在又不可能重新用vba编程来实现导入excel了,太麻烦了。只好把机子上的windows install服务禁用了,将就蒙混过去了...

原创粉丝点击