foreach (DataRow dr in dt.Rows)
                {
                    //int i = 0;
                    string tmpstr = "";
                    for (int i = 0; i < dr.ItemArray.Length; i++)
                    { tmpstr += dr[i] + "\t"; }
                    sw.WriteLine(tmpstr);  
                }
 sw.Close();
        Response.AddHeader("Content-Disposition", "attachment; filename=data.xls");
        Response.ContentType = "application/ms-excel";
        Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
        Response.Write(sw);
        Response.End();
        odbcConn.Close();
        da.Dispose();
        dt.Dispose(); 
当datatable中数据很大时(10W+条吧),就会"引发类型为“System.OutOfMemoryException”的异常" ,但是数据仍可以导出,只是数据少了。
貌似这种方法生成的excel文件也特别大,有什么好的方法解决么?
通过服务器设置 还是换种导出方法?