我已经构建了一个gridview来显示来自各个联盟中选择团队的查询的结果。然后,我可以通过点击选择“下载到CSV” 下载到CSV按钮,当所有结果显示在gridview中时出现。这很好用。 它正在网格中显示,但是当有很多团队被检索时,需要一段时间来加载。有时会这样 很久它会开始网页挂起。现在我想绕过gridview的显示,只需点击即可 “下载到CSV”按钮,以便下载结果。 目前,我试图注释掉代码以显示Gridview但是这个 似乎总是打破代码。或者,我试图将gridview设置为Visible =“False”,这不允许显示gridview, 但仍处理结果(如果网格视图中的数据集超出一定大小,则仍然会挂起网页)。理想的情况下 我希望完全绕过griview,但结果可以在CSV文件中查看。
答案 0 :(得分:-1)
如果您需要直接从DB
下载这里有一个例子:(因为您没有发布任何代码我正在举例并解释)
protected void ExportExcel(object sender, EventArgs e)
{
string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("SELECT * FROM Customers"))
{
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.Connection = con;
sda.SelectCommand = cmd;
using (DataTable dt = new DataTable())
{
sda.Fill(dt);
using (XLWorkbook wb = new XLWorkbook())
{
wb.Worksheets.Add(dt, "Customers");
Response.Clear();
Response.Buffer = true;
Response.Charset = "";
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", "attachment;filename=SqlExport.xlsx");
using (MemoryStream MyMemoryStream = new MemoryStream())
{
wb.SaveAs(MyMemoryStream);
MyMemoryStream.WriteTo(Response.OutputStream);
Response.Flush();
Response.End();
}
}
}
}
}
}
}