【问题标题】:EPPLUS ExcelRange creates table starting in wrong rowEPPLUS ExcelRange 创建从错误行开始的表格
【发布时间】:2021-03-12 06:24:22
【问题描述】:

在 C# 中,我用数据填充了一个 excel 文件。现在我想创建一个从单元格 A2 开始的表格。 我正在使用下面的代码来创建表格,但不是从单元格 A2 开始创建表格,而是从单元格 A3 开始创建表格

 using var package = new ExcelPackage(file);
           
            var ws = package.Workbook.Worksheets.Add(Name: "MainReport");

          
           var range = ws.Cells[Address: "A2"].LoadFromCollection(people, PrintHeaders: true);
            range.AutoFitColumns();

            //Formats Header row
            ws.Cells[Address: "A1"].Value = "My Data!";
            ws.Cells[Address: "A1:C1"].Merge = true;
            ws.Column(col: 1).Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
            ws.Row(row: 1).Style.Font.Size = 24;
            ws.Row(row: 1).Style.Font.Color.SetColor(Color.Pink);

            ws.Row(row: 2).Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
            ws.Row(row: 2).Style.Font.Bold = true;
            ws.Column(col: 3).Width = 20;
          
            //create a range for the table
            ExcelRange range_table = ws.Cells[2, 1, ws.Dimension.End.Row, ws.Dimension.End.Column];

            //add a table to the range
            ExcelTable tab = ws.Tables.Add(range_table, "Table1");

            //format the table
            tab.TableStyle = TableStyles.Medium2;

【问题讨论】:

  • 我不明白,对我来说,表格从 A2 开始。该屏幕截图是“您想要发生的事情”还是“正在发生的事情”?
  • 如果您的问题是“我怎样才能摆脱标题,以便数据从 A2 开始”您是否尝试将 PrintHeaders 设置为 false?
  • @CaiusJard 当我在 excel 中打开名称管理器时,它指出表 1 的范围是 A3 到 C7。所以它不包括标题。另请查看上图中的绿色边框。它从 A3 到 C7
  • 我还是不明白。您可以添加一个屏幕截图来显示您期望它的样子吗?

标签: c# excel epplus


【解决方案1】:

Excel 本身的工作原理是,如果您选择A2:C4 并创建一个表格并说“没有标题”,它将在A2:C2 中放置一些通用标题并移动数据区域(如果有的话,还有数据)到A2:C5。

如果您说“有标头”,标头也将在 A2:C2 中定义,但数据仅在 A3:C4 中。

真正的 Excel 显然会猜测标题是否存在,并为您预先勾选该框。

如here in the API Documentation 所述,没有标志来定义标头是否存在于该范围内,因此可能无法猜测,并且可能会假定它为“否”,并且发生了上面解释的移位。

如果你考虑到这一点,你应该能够解决它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-14
    相关资源
    最近更新 更多