Создание нескольких строк заголовка в файле Excel с EPPlus.Core - PullRequest
0 голосов
/ 12 февраля 2020

Я буду использовать EPPlus.Core для создания отчетов Excel в моем. Net Базовом проекте. Поэтому, покопавшись в Google, чтобы найти примеры фрагментов кода, я нашел следующий блог:

Создание файлов Excel в C#

Я могу создать файл 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);
}

Но я не смог выяснить, как добавить несколько строк заголовка на одном листе. Например, первая таблица имеет заголовки ID, Name, Price, а вторая таблица имеет заголовки Notes и Price. Можно ли добавить несколько таблиц в лист с помощью EPPlus.Core? Приведенный выше фрагмент кода добавляет только одну строку заголовка от A1 до D1. Допустим, я хочу добавить еще одну строку заголовка из A4 в J4. Есть предложения?

1 Ответ

1 голос
/ 12 февраля 2020

И все же я нашел ответ. Надеюсь, что это поможет другим сэкономить свое время. Это не лучший подход, но это то, что мне нужно. Я определил координаты в массиве Cells, добавив «A1: J1» и «A3: E3».

 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...