我的代码几乎具有相同的代码,只需添加一段时间以便在GridView中编写数据,
Response.ClearContent();
Response.Buffer = true;
Response.AddHeader("content-disposition",
$"attachment; filename=file.xls");
Response.ContentType = "application/ms-excel";
Response.Charset = "";
var addColumnNames = true;
var pageSize = 10000;
while (users.Any())
{
using (var gridView = new GridView { DataSource = users.Take(pageSize), ShowHeader = addColumnNames })
{
gridView.DataBind();
using (var sw = new StringWriter())
{
using (var htw = new HtmlTextWriter(sw))
{
gridView.RenderControl(htw);
Response.Output.Write(sw.ToString());
}
}
}
users = users.Skip(pageSize).ToList();
addColumnNames = false;
}
Response.Flush();
Response.End();