【问题标题】:ClosedXML - Add a new row without overwrite data (first line)ClosedXML - 添加新行而不覆盖数据(第一行)
【发布时间】:2016-05-20 18:46:55
【问题描述】:

我正在尝试在填写我的 excel 文档之前添加一个空行。

using (DataTable dt = new DataTable())
{
    sda.Fill(dt);

    using (XLWorkbook wb = new XLWorkbook())
    {
        var ws = wb.Worksheets.Add(dt, "Report");
        var listOfStrings = new List<String>();
        ws.Cell(1, 6).Value = "Service";
        ws.Cell(1, 15).Value = "Invoice";

        ws.Range("A1:L1").Style.Fill.BackgroundColor = XLColor.DarkBlue;
        ws.Range("M1:Q1").Style.Fill.BackgroundColor = XLColor.DarkCandyAppleRed;
        ws.Range("M2:Q2").Style.Fill.BackgroundColor = XLColor.Red;

        Response.Clear();
        Response.Buffer = true;
        Response.Charset = "";
        Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
        Response.AddHeader("content-disposition", "attachment;filename=Report.xlsx");

        using (MemoryStream MyMemoryStream = new MemoryStream())
        {
            wb.SaveAs(MyMemoryStream);
            MyMemoryStream.WriteTo(Response.OutputStream);
            Response.Flush();
            Response.End();
        }
    }
}

我只需要将第一行设为空,然后用我的数据填充文档。 但我一直在覆盖文档。

【问题讨论】:

    标签: c# closedxml


    【解决方案1】:

    要在工作表的第一行上方插入一行,请使用:

    ws.Row(1).InsertRowsAbove(1);
                           // ^ number of rows to insert
    

    还有InsertRowsBelow() 方法可以在某行下方插入新行。有关更多示例,请参阅documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-28
      • 2018-01-08
      • 2018-07-15
      • 2021-06-30
      • 2014-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多