Почему текстовые метки не добавляются в эти ячейки (EPPlus)?

У меня есть ряд заголовков столбцов, которые я настраиваю так:

private static readonly int COLUMN_HEADER_ROW = 6;
private static readonly int COLUMN_COUNT = 15;
private static readonly int COLUMN_HEADER_ROW_HEIGHT = 48;
private static readonly int PLATYPUS_DISTRIBUTOR_COLUMN = 1;
private static readonly int RESTAURANT_LOCATION_COLUMN = 2;
private static readonly int RESTAURANT_LOCATION_COLUMN_WIDTH = 36;
private static readonly int TOTAL_PACKAGE_COUNT_COLUMN = 15;

. . .

// Add column headers
using (var rowRng = deliveryPerformanceWorksheet.Cells[COLUMN_HEADER_ROW, PLATYPUS_DISTRIBUTOR_COLUMN, COLUMN_HEADER_ROW, COLUMN_COUNT])
{
    rowRng.Style.Font.Name = fontForSheet;
    rowRng.Merge = true;
    rowRng.Style.Font.Size = 12;
    rowRng.Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
    rowRng.Style.VerticalAlignment = ExcelVerticalAlignment.Center;
    rowRng.Style.Fill.PatternType = ExcelFillStyle.Solid;
    deliveryPerformanceWorksheet.Row(COLUMN_HEADER_ROW).Height = COLUMN_HEADER_ROW_HEIGHT;
    rowRng.Style.Fill.BackgroundColor.SetColor(Color.LightSkyBlue);
    // set borders
    rowRng.Style.Border.BorderAround(ExcelBorderStyle.Thin);
    rowRng.Style.Border.Top.Style = ExcelBorderStyle.Thin;
    rowRng.Style.Border.Left.Style = ExcelBorderStyle.Thin;
    rowRng.Style.Border.Right.Style = ExcelBorderStyle.Thin;
    rowRng.Style.Border.Bottom.Style = ExcelBorderStyle.Thin;
}

Затем я пытаюсь добавить текст в каждую ячейку в этой строке следующим образом:

// Col A
using (var distributorCell = deliveryPerformanceWorksheet.Cells[COLUMN_HEADER_ROW, PLATYPUS_DISTRIBUTOR_COLUMN])
{
    distributorCell.Value = "Platypus Distributor";
    distributorCell.Style.Font.Bold = true;
}

// Col B
using (var sunRestaurantLocationCell = deliveryPerformanceWorksheet.Cells[COLUMN_HEADER_ROW, RESTAURANT_LOCATION_COLUMN])
{
    sunRestaurantLocationCell.Value = "Restaurant Location";
    deliveryPerformanceWorksheet.Column(RESTAURANT_LOCATION_COLUMN).Width = RESTAURANT_LOCATION_COLUMN_WIDTH;
    sunRestaurantLocationCell.Style.Font.Bold = true;
}

. . .

// Col O
using (var totalPackageCountHeaderCell = deliveryPerformanceWorksheet.Cells[COLUMN_HEADER_ROW, TOTAL_PACKAGE_COUNT_COLUMN])
{
    totalPackageCountHeaderCell.Value = String.Format("Total Package{0}Count", Environment.NewLine);
    totalPackageCountHeaderCell.Style.WrapText = true;
    totalPackageCountHeaderCell.Style.Font.Bold = true;
}

... но единственное значение, которое записывается в ячейку, это "Распространитель утконоса", и оно помещается в столбец 3, а не в столбец 1.

Почему присваивается только одно текстовое значение и почему оно помещается в неправильную ячейку / столбец?

1 ответ

Решение

Просто закомментируйте или удалите назначение "Объединить", а именно эту строку:

rowRng.Merge = true;
Другие вопросы по тегам