EPPlus kullanarak hücreler birleştirilsin mi?


94

Excel dosyalarını okumak / yazmak için EPPlus kitaplığını kullanıyorum: http://epplus.codeplex.com/

Bir belge yazarken bazı hücreleri birleştirmeye çalışıyorum:

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 adında, yalnızca doğru veya yanlış döndüren bir özellik var. Bunun hücreleri birleştirebileceğini düşündüm, ama olmadı.

Bunun nasıl yapılacağını bilen var mı?

Yanıtlar:


166

Bunu şu şekilde kullanmalısın:

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

onun yerine:

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

Vb.net'teki hücreleri birleştirmek için Dinamik parametreleri nasıl geçirebilirim
Hari

Tersini yapmak istesem bu işe yarar mı? Birleştirilen hücreleri ayırın.
NikosV

Sütunları koşul temelinde nasıl birleştiririm?
Prashant Pimpale

1
@PrashantPimpale Sorunuzu anlamıyorum. Birleştirmek istediğiniz aralıktaki hücrelerin bitişik olması gerektiğini unutmayın.
Carles Company

2
Ek bilgi olarak burada. Birleştirmeden sonra yalnızca en üstteki hücre değeri saklanacak (hücre değerlerinin geri kalanı göz ardı edilecektir)
MeraklıÇocuk

77

Hücreleri dinamik olarak birleştirmek istiyorsanız, şunları da kullanabilirsiniz:

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

Tüm bu değişkenler tam sayıdır.


7

Bir uzatma yöntemi oluşturabilirsiniz:

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;
}

Bunu birlikte çalışarak yaptığınız gibi kullanabilirsiniz:

range.Merge();
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.