wake-up-neo.net

Zellen mit EPPlus verbinden?

Ich verwende die EPPlus-Bibliothek zum Lesen/Schreiben von Excel-Dateien: http://epplus.codeplex.com/

Ich versuche, beim Schreiben eines Dokuments einfach einige Zellen zusammenzuführen:

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

Es gibt eine Eigenschaft namens Merge, die einfach true oder false zurückgibt. Ich dachte, das würde vielleicht die Zellen zusammenführen, aber das tut es nicht.

Weiß jemand, wie das geht?

74
Steven

Du musst es so benutzen:

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

anstatt:

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

Wenn Sie Zellen dynamisch zusammenführen möchten, können Sie auch Folgendes verwenden:

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

Alle diese Variablen sind Ganzzahlen.

63
mayank

Sie können eine Erweiterungsmethode erstellen:

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

Sie können dies wie bei interop verwenden:

range.Merge();
4
Paul Cassidy