HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.ContentType = "application/ms-excel";
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment; filename="
             + HttpUtility.UrlEncode("结果统计表" + Common.PublicCommon.returnTime().ToString("yyyy-MM-dd"), System.Text.Encoding.UTF8) + ".xls");
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
HttpContext.Current.Response.Write("<meta http-equiv='content-type' content='application/ms-excel;charset=UTF-8'/>");
HttpContext.Current.Response.Write(wttable);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
我这是导出了一个html的table。
不能用导出DataTable的方式去导出,因为这个html的table内容和格式有点复杂,拼不成一个DataTable.
RT
这个方式导出的excel文件,在2007中能够正常打开,只是提示“您尝试打开的文件***.xls的格式与文件扩展名指定的格式不一致,是否立即打开该文件。”打开后一切正常。但是在Office2003中打开后,里面却是一片空白,用2007转换成2003的之后,内容就又出现了,也一切都正常。有哪位大侠知道这串代码要怎么修改下,能够达到导出的文件能正常被2003显示啊。知道怎么去除那个“尝试打开的文件格式与扩展名指定的格式不一致。。”这个提示的也给提示下吧。。有其他能将html中table导出到excel的方法也给提示下吧。excelhtml导出exceloffice2003.net导出

解决方案 »

  1.   

    System.IO.FileInfo file = new System.IO.FileInfo(serverPath);
                Response.Clear();
                Response.Buffer = true;
                Response.Charset = "GB2312";
                Response.AppendHeader("Content-Disposition", "attachment;filename=" + Server.UrlEncode(file.Name));
                Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文
                Response.AddHeader("Content-Length", file.Length.ToString());
                Response.ContentType = "application/ms-excel";
                EnableViewState = false;
                Response.WriteFile(file.FullName);
                Response.End();
    你试试这个看看,我一般用这个,没出现你说的情况