下面代码可以导出 但是超过条就被截断了,如何解决,有更好的导出办法吗?
 DataTable dt = ds.Tables["dt"];
            StringWriter sw = new StringWriter();
            sw.WriteLine("时间\t描述");
            foreach (DataRow dr in dt.Rows)
            {
                sw.WriteLine(dr[0] + "\t" + dr[1]);
            }
            sw.Close();
            Response.AddHeader("Content-Disposition", "attachment; filename=test.xls");
            Response.ContentType = "application/ms-excel";
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
            Response.Write(sw);
            Response.End();
            dt.Dispose();

解决方案 »

  1.   

    excel最多只能有65536条.------说错了莫怪。
      

  2.   

    1.可在页面上做几个链接,分成几个文件下载.
    2.用Excel.对象将数据存到不同的工作表,不过这样会比较慢.
    3.用html格式将数据存到不同的表,但这要先研究一下在html中是怎么分表的.
      你可将一个多表的excel文件存成html格式,看一下是怎么分sheet的,仿照这个生成html------说错了莫怪。
      

  3.   

    EXCEL2003版本中数据的最大行数为65635行,最大列数为256,
    lz可考虑用分sheet,或改写成CVS文件,CSV文件也可用EXCEL打开,就是没有格式。
      

  4.   

    foreach (DataRow dr in dt.Rows)
                {
                    sw.WriteLine(dr[0] + "\t" + dr[1])+"\n";
                }
    另外cpp2017(幕白兄) 说得没错,EXCEL最大只有65536条,要注意分sheet