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文件也特别大,有什么好的方法解决么?
通过服务器设置 还是换种导出方法?
{
//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文件也特别大,有什么好的方法解决么?
通过服务器设置 还是换种导出方法?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货