Response.Clear();        Response.Charset = "gb2312";        Response.AddHeader("content-disposition", "attachment;filename=shengchanpaicheng.xls");        Response.ContentEncoding = System.Text.Encoding.UTF7;        Response.ContentType = "application/ms-excel";        System.IO.StringWriter strw = new System.IO.StringWriter();        System.Web.UI.HtmlTextWriter htmw = new HtmlTextWriter(strw);        GridView1.AllowPaging = false;        GridView1.DataSource = bindgrid();        GridView1.DataBind();        GridView1.RenderControl(htmw);        Response.Write(strw.ToString());        Response.End();        GridView1.AllowPaging = true;        bindgrid();
用Office2003能正常显示shengchanpaicheng.xls里面的数据.可是现在同事用的是office2007却打不开,有什么办法能让office2007也能正常使用?谢谢.
错误提示:
你尝试打开的文件的格式shengchanpaicheng.xls与文件扩展名指定的格式不一致,打开之前请验证文件没有损坏且来源可信,是否立即打开该文件.

解决方案 »

  1.   

    2007麻烦不好弄。
    参考:http://topic.csdn.net/u/20080515/02/640fcb7f-835b-4ed0-b853-edd10d927b0a.html
      

  2.   

     后面你加一个方法看看,我一般这样写是没有错误的
    #region 导出到Excel
        ///<summary>
        /// 导出到Excel
        ///</summary>
        protected void lbtnExport_Click(object sender, EventArgs e)
        {
            Response.Clear();
            Page.Response.Buffer = true;
            Response.Charset = "gb2312";
            string strFileName = "FileName.xls";
            Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(strFileName, System.Text.Encoding.UTF8));
            Response.ContentEncoding = System.Text.Encoding.UTF8;        System.IO.StringWriter stringWrite = new System.IO.StringWriter();
            System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
            gvIndex.AllowPaging = false;
            gvIndex.ShowFooter = true;
            NewBind();
            gvIndex.RenderControl(htmlWrite);
            Response.Write(stringWrite.ToString());
            Response.End();
            gvIndex.AllowPaging = true;
            NewBind();
        }
       //此方法必须存在
        public override void VerifyRenderingInServerForm(Control control)
        {
            // Confirms that an HtmlForm control is rendered for 
        }
       

      #endregion
      

  3.   

    这个方法加了,现在是生成的.xls不支持office2007版本.谢谢.
      

  4.   

      public override void VerifyRenderingInServerForm(Control control)
        {
         
        } 
    加上这个方法就可以了!
      

  5.   

    http://www.olcodes.com/article/html/5207.html  看这里 有你要的小笨蛋 呵呵