ASP.NET - 将数据表导出到 excel 时删除 Header/Sorting 行
ASP.NET - Remove Header/Sorting row when exporting datatable to excel
请帮帮我。
我想知道如何将我的数据表导出到 excel 工作表而不需要 header 或排序行(即第一行)。
这是我的代码:
protected void Button2_Click(object sender, EventArgs e) {
string constr = ConfigurationManager.ConnectionStrings["bscConnectionString"].ConnectionString;
SqlConnection con = new SqlConnection(constr);
SqlCommand cmd = new SqlCommand(SqlDataSource1.SelectCommand);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter sda = new SqlDataAdapter();
cmd.Connection = con;
sda.SelectCommand = cmd;
DataTable dt = new DataTable();
cmd.CommandText = "FechasRango1";
cmd.Parameters.AddWithValue("@Fecha", TextBox1.Text);
cmd.Parameters.AddWithValue("@Fecha2", TextBox2.Text);
sda.Fill(dt);
if (dt.Rows.Count == 0)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Scripts", "<script>alert('No Hay Resultados');</script>");
}
else if (dt.Rows.Count != 0)
{
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");
MemoryStream MyMemoryStream = new MemoryStream();
{
wb.SaveAs(MyMemoryStream);
MyMemoryStream.WriteTo(Response.OutputStream);
Response.Flush();
Response.End();
}
}
}
这是我的结果:
我很确定你的这行代码可以完成你刚在 return 中添加的工作sheet:
wb.Worksheets.Add(dt, "Customers");
将其保存在变量中,让 sheet 并删除第一行:
sheet.Range("A1", "A1").EntireRow.Delete();
看起来您正在使用 ClosedXML 库。 Here 你会发现很多关于如何删除行的例子。
请帮帮我。
我想知道如何将我的数据表导出到 excel 工作表而不需要 header 或排序行(即第一行)。
这是我的代码:
protected void Button2_Click(object sender, EventArgs e) {
string constr = ConfigurationManager.ConnectionStrings["bscConnectionString"].ConnectionString;
SqlConnection con = new SqlConnection(constr);
SqlCommand cmd = new SqlCommand(SqlDataSource1.SelectCommand);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter sda = new SqlDataAdapter();
cmd.Connection = con;
sda.SelectCommand = cmd;
DataTable dt = new DataTable();
cmd.CommandText = "FechasRango1";
cmd.Parameters.AddWithValue("@Fecha", TextBox1.Text);
cmd.Parameters.AddWithValue("@Fecha2", TextBox2.Text);
sda.Fill(dt);
if (dt.Rows.Count == 0)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Scripts", "<script>alert('No Hay Resultados');</script>");
}
else if (dt.Rows.Count != 0)
{
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");
MemoryStream MyMemoryStream = new MemoryStream();
{
wb.SaveAs(MyMemoryStream);
MyMemoryStream.WriteTo(Response.OutputStream);
Response.Flush();
Response.End();
}
}
}
这是我的结果:
我很确定你的这行代码可以完成你刚在 return 中添加的工作sheet:
wb.Worksheets.Add(dt, "Customers");
将其保存在变量中,让 sheet 并删除第一行:
sheet.Range("A1", "A1").EntireRow.Delete();
看起来您正在使用 ClosedXML 库。 Here 你会发现很多关于如何删除行的例子。