Gabungkan sel menggunakan EPPlus?


94

Saya menggunakan perpustakaan EPPlus untuk membaca / menulis file Excel: http://epplus.codeplex.com/

Saya mencoba menggabungkan beberapa sel saat menulis dokumen:

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

Ada properti bernama Merge yang mengembalikan true atau false. Saya pikir mungkin itu akan menggabungkan sel, tapi ternyata tidak.

Ada yang tahu bagaimana melakukan ini?

Jawaban:


166

Anda harus menggunakannya seperti ini:

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

dari pada:

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

Bagaimana saya bisa melewatkan parameter Dinamis untuk menggabungkan sel di vb.net
Hari

Apakah ini akan berhasil jika saya ingin melakukan yang sebaliknya? Pisahkan sel.
NikosV

Bagaimana cara menggabungkan kolom berdasarkan kondisi?
Prashant Pimpale

1
@PrashantPimpale Saya tidak mengerti pertanyaan Anda. Ingatlah bahwa sel dalam rentang yang ingin Anda gabungkan harus berdekatan.
Carles Company

2
Sekadar info tambahan disini. Hanya nilai sel paling kiri atas yang akan disimpan setelah penggabungan (nilai sel lainnya akan diabaikan)
penasaranBoy

77

Jika Anda ingin menggabungkan sel secara dinamis, Anda juga dapat menggunakan:

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

Semua variabel ini adalah bilangan bulat.


7

Anda dapat membuat metode ekstensi:

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

Anda dapat menggunakan ini seperti yang Anda lakukan melalui interop:

range.Merge();
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.