asp.net导出excel文件扩展名不一致有关问题

asp.net导出excel文件扩展名不一致问题
截图:
asp.net导出excel文件扩展名不一致有关问题
gridview中导出数据代码
 public void ExcelOut(GridView gv) //导出excel
    {
        if (gv.Rows.Count > 0)
        {
            Response.Clear();
            Response.ClearContent();
            Response.AddHeader("Content-Disposition", "attachment; filename=" + DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".xls");
            Response.ContentEncoding = System.Text.Encoding.UTF8;
            Response.ContentType = "application/ms-excel";
            StringWriter sw = new StringWriter();
            HtmlTextWriter htw = new HtmlTextWriter(sw);
            gv.RenderControl(htw);
            Response.Write(sw.ToString());
            Response.Flush();
            Response.End();
        }
        else
        {
            this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", " <script language='javascript' >alert('没有数据!') </script>");
        }
    }
原因是导出的excel不是真正的excel,求帮助!
------解决思路----------------------
按理说,这种东西输出的文件应该是以 .html 为后缀。你输出的那种文件,根本不是 Excel 文件。

你把它写成 .xls 后缀,那么你不能怪 Excel 为什么不认识 Excel。问 Excel 就是误导方向了。

你应该看看你自己输出的东西为什么不是很低级的 html。因为只有很低级的 html,如果你故意胡乱写一个 .xls 后缀,才能被 Excel 读取。如果你的 html 内容太复杂了,Excel 也无法读取。
------解决思路----------------------
用微软的或者NPOI、EPPlus等第三方类库来导出。
------解决思路----------------------
用NPOI来导出吧http://download.csdn.net/detail/superior_yong/8040249
------解决思路----------------------
GridView.RenderControl 不是output excel啊。
------解决思路----------------------
web版的NPOI导出例子,附带NPOI.DLL
------解决思路----------------------
asp.net导出excel文件扩展名不一致有关问题实在不行不还是可以对Excel进行读写操作么 就是烦了些 一个一个格子写 哈哈哈哈哈哈哈哈