Объединить ячейки с помощью EPPlus?


94

Я использую библиотеку EPPlus для чтения / записи файлов Excel: http://epplus.codeplex.com/

Я пытаюсь просто объединить некоторые ячейки при написании документа:

using (ExcelPackage pck = new ExcelPackage())
{
    //Create the worksheet
    ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Demo");

    //Format the header for column 1-3
    using (ExcelRange rng = ws.Cells["A1:C1"])
    {
        bool merge = rng.Merge;
    }
}

Есть свойство с именем Merge, которое просто возвращает true или false. Я думал, может быть, это объединит ячейки, но этого не произошло.

Кто-нибудь знает, как это сделать?

Ответы:


166

Вы должны использовать это так:

ws.Cells["A1:C1"].Merge = true;

вместо того:

using (ExcelRange rng = ws.Cells["A1:C1"])
{
    bool merge = rng.Merge;
}

Как передать динамические параметры для объединения ячеек в vb.net
— Хари

Сработало бы это, если бы я хотел сделать наоборот? Разъединить ячейки.
— NikosV

Как объединить столбцы по условию?
— Prashant Pimpale 08

1
@PrashantPimpale Я не понимаю вашего вопроса. Имейте в виду, что ячейки в диапазоне, который вы хотите объединить, должны быть смежными.
— Carles Company

2
Просто как дополнительная информация здесь. После слияния будет сохранено только самое верхнее левое значение ячейки (остальные значения ячеек будут проигнорированы)
— curiousBoy

77

Если вы хотите динамически объединять ячейки, вы также можете использовать:

worksheet.Cells[FromRow, FromColumn, ToRow, ToColumn].Merge = true;

Все эти переменные целые.


7

Вы можете создать метод расширения:

public static void Merge(this ExcelRangeBase range)
{
    ExcelCellAddress start = range.Start;
    ExcelCellAddress end = range.End;
    range.Worksheet.Cells[start.Row, start.Column, end.Row, end.Column].Merge = true;
}

Вы можете использовать это так же, как через взаимодействие:

range.Merge();
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.