表格大概在500~1000行,大家有什么好的方法,可以让速度快一些?

解决方案 »

  1.   

    http://www.cnblogs.com/top5/archive/2010/02/16/1668801.html
      

  2.   

    Js导出Excel表格写在form标签之上(引用打印控件)<object id="WebBrowser1" width="0" height="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" VIEWASTEXT></object><input id="Button2" type="button" value="导出Excel"   onclick="AutomateExcel('rp');" class="btnstyle"/>function AutomateExcel(tid1) {   if (!document.getElementById(tid1)) {  alert("请您等待加载成报表后导数据!");  }  else {  try {     var oXL = new ActiveXObject("Excel.Application");  var oWB = oXL.Workbooks.Add();  var oSheet = oWB.ActiveSheet;  var sel = document.body.createTextRange();  sel.moveToElementText(document.getElementById(tid1));  sel.select();  sel.execCommand("Copy");  oSheet.Paste();  oXL.Visible = true;  oXL = null;  sel.execCommand("Unselect");  }  catch (e) {  alert("请您安装微软Excel办公组件及完全开放ActiveX,或询问系统管理员!");  }  }}说明:给你的table加个id,OnClick中的rp就是你的id.
      

  3.   

    你给的方法都是DataGrid,DataSet,dataview输出到EXCEL,我的是GridView,应该怎么操作啊?
      

  4.   

    我已经生成一个DATATABLE,要求一个方法输出EXCEL,要求代码尽量简短,而且速度要快,会的大牛快来解决一下啊
      

  5.   

    在导出之前先对gridview的数据进行绑定。
                   
    GridView1.Columns[9].Visible = false;    //隐藏不想看到的列                string style = @"<style> .text { mso-number-format:\@; } </script> ";
                    Response.Clear();
                    Response.AddHeader("content-disposition", "attachment;filename=FileName.xls");
                    //Response.Charset = "gb2312";
                    HttpContext.Current.Response.Charset = "Unicode";
                    HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.Default;
                    //Response.ContentType = "appllication/vnd.ms-execl";
                    Response.ContentType = "application/vnd.xls";
                    System.IO.StringWriter stringWrite = new System.IO.StringWriter();
                    System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);                GridView1.AllowPaging = false;
                    GridView1.DataBind();
                    GridView1.RenderControl(htmlWrite);
                    Response.Write(style);
                    Response.Write(stringWrite.ToString());
                    Response.End();
                    GridView1.AllowPaging = true;
                    GridView1.DataBind();
      public override void VerifyRenderingInServerForm(Control control)
            {
                //base.VerifyRenderingInServerForm(control); 
            }//重写方法前台page指令中加入EnableEventValidation="false"