【问题标题】:ASP.NET - Remove Header/Sorting row when exporting datatable to excelASP.NET - 将数据表导出到 Excel 时删除标题/排序行
【发布时间】:2016-05-25 16:57:53
【问题描述】:

请帮帮我。

我想知道如何将我的数据表导出到没有标题或排序行的 excel 工作表(这是第一行)。

这是我的代码:

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();
                }
            }
        }

这是我的结果:

【问题讨论】:

  • 什么是 XLWorkbook ?你的用途是什么?
  • 使用 ClosedXML.Excel;使用 OfficeOpenXml;使用 OfficeOpenXml.Table;使用 OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;使用 DocumentFormat.OpenXml.Packaging;使用 DocumentFormat.OpenXml.Spreadsheet;使用 CSOpenXmlExportImportExcel;使用 System.Net;使用 System.Text.RegularExpressions;

标签: c# asp.net excel datatable export-to-excel


【解决方案1】:

我很确定你的这行代码给了你刚刚添加的工作表作为回报:

wb.Worksheets.Add(dt, "Customers");

将其保存在一个变量中,让表格和删除第一行:

sheet.Range("A1", "A1").EntireRow.Delete();

看起来您正在使用 ClosedXML 库。 Here你会发现很多删除行的例子。

【讨论】:

  • 出现以下错误:“严重性代码描述项目文件行错误 CS1061 'IXLRange' 不包含 'EntireRow' 的定义,并且没有扩展方法 'EntireRow' 接受类型为 'IXLRange 的第一个参数' 可以找到(您是否缺少 using 指令或程序集引用?“
  • 你用的是什么库?
  • link 斜体 粗体 using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.IO; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using ClosedXML; using ClosedXML.Excel;
猜你喜欢
  • 2016-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-30
  • 2010-10-30
  • 1970-01-01
  • 2015-02-07
  • 2021-10-24
相关资源
最近更新 更多