各位兄弟,高手朋友们,近日做了一个关于在ASP.NET中导出为Excel的功能,但功能实现后发现这斯速度太慢了,如果导出1000条以下还马马虎虎,如果超出1000条,那速度可真是够慢,让人难以接爱,但是为了输出表格的样式和可控性,又必须用Excel组件.请问各位有什么让速度快些的方法.听别说在OFFICE2003中用什么方法速度非常快,听说要用到模板,将数据一次复制到模板中.但不知如何实现,特请教高手们,十分感谢,分不多请原谅!在线等!!

解决方案 »

  1.   

    用html导出,也是可以控制样式的
      

  2.   

    cpp2017(慕白兄) 用html导出,能说具体一些吗?谢谢!!
      

  3.   

    类似于这种方式public static void ExportExcel(ref System.Web.UI.WebControls.Repeater rp, string strFileName)
    {
    // DataTable dt = (DataTable)this.Session["GridToExcel"];
    // if (dt==null) return;
    strFileName = System.Web.HttpUtility.UrlEncode(strFileName,System.Text.Encoding.UTF8);

     
    //dtgList.DataSource = DataClass.ExecuteDataTable(dtgList.strSQL).DefaultView;
    //dtgList.EnableViewState =false;
    System.Web.HttpContext.Current.Response.Clear(); 
    System.Web.HttpContext.Current.Response.Buffer = true; 
    System.Web.HttpContext.Current.Response.Charset = "gb2312";
    System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition", "online; filename=" + strFileName + ".xls");
    System.Web.HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
    System.Web.HttpContext.Current.Response.ContentType = "application/ms-excel";
    //System.Web.HttpContext.Current.EnableViewState = false;
    System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("zh-CN",true);
    System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad); 
    System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
    //oHtmlTextWriter.Write("<table width='100%' border='1'>");
    rp.RenderControl(oHtmlTextWriter); 
    //oHtmlTextWriter.Write("</table>");
    rp = null;
    System.Web.HttpContext.Current.Response.Write(oStringWriter.ToString().Replace("<td","<td STYLE='MSO-NUMBER-FORMAT:\\@'"));
    System.Web.HttpContext.Current.Response.Buffer = false; 
    System.Web.HttpContext.Current.Response.End();
    }
      

  4.   

    用这个方法试试
    http://www.wsoft.net/Index/Catalog53/225.aspx这个是应用在广域网上的,速度还行啊