使用 EPPlus.Core 在 excel 文件中创建多个 header 行

Creating multiple header rows in an excel file with EPPlus.Core

我将使用 EPPlus.Core 在我的 .Net Core 项目中生成 excel 报告。因此,在挖掘 Google 以找到一些示例代码片段后,我发现了以下博客:

Create Excel Files in C#

我可以用一个 header 创建一个 excel 文件,代码如下:

using (ExcelPackage excel = new ExcelPackage())
{
  excel.Workbook.Worksheets.Add("Worksheet1");
  excel.Workbook.Worksheets.Add("Worksheet2");
  excel.Workbook.Worksheets.Add("Worksheet3");

  var headerRow = new List<string[]>()
  {
    new string[] { "ID", "First Name", "Last Name", "DOB" }
  };

  // Determine the header range (e.g. A1:D1)
  string headerRange = "A1:" + Char.ConvertFromUtf32(headerRow[0].Length + 64) + "1";

  // Target a worksheet
  var worksheet = excel.Workbook.Worksheets["Worksheet1"];

  // Popular header row data
  worksheet.Cells[headerRange].LoadFromArrays(headerRow);

  FileInfo excelFile = new FileInfo(@"C:\Users\amir\Desktop\test.xlsx");
  excel.SaveAs(excelFile);
}

但我找不到如何在单个工作表上添加多个 header 行。例如,第一个 table 有 ID、名称、价格 header,第二个 table 有注释和价格 header。是否可以使用 EPPlus.Core 将多个 table 添加到工作表中?上面的代码片段仅添加了从 A1 到 D1 的单个 header 行。假设我想从 A4 到 J4 添加另一个 header 行。有什么建议吗?

但我找到了答案。希望这会帮助其他人节省时间。这不是最好的方法,但这是我需要的。我通过添加 "A1:J1" 和 "A3:E3".

定义了 Cells 数组上的坐标
 var worksheet = excel.Workbook.Worksheets["Worksheet1"];
 worksheet.Cells["A1:J1"].LoadFromArrays(header1Data);
 worksheet.Cells["A1:J1"].Style.Font.Bold = true;
 worksheet.Cells[2, 1].LoadFromArrays(array1Data);

 worksheet.Cells["A3:E3"].LoadFromArrays(header2Data);
 worksheet.Cells["A3:E3"].Style.Font.Bold = true; 
 worksheet.Cells[4, 1].LoadFromArrays(array2Data);