EPPlus를 사용하여 셀을 병합 하시겠습니까?


93

Excel 파일을 읽고 쓰기 위해 EPPlus 라이브러리를 사용하고 있습니다 : 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;
    }
}

단순히 true 또는 false를 반환하는 Merge라는 속성이 있습니다. 나는 그것이 세포를 병합 할 것이라고 생각했지만 그렇지 않습니다.

누구든지 이것을하는 방법을 알고 있습니까?

답변:


165

다음과 같이 사용해야합니다.

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

대신에:

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

동적 매개 변수를 전달하여 vb.net의 셀을 병합하는 방법
Hari

반대로하고 싶다면이게 효과가 있을까요? 셀을 병합 해제합니다.
NikosV

조건에 따라 열을 병합하려면 어떻게합니까?
Prashant Pimpale 2018 년

1
@PrashantPimpale 질문을 이해하지 못합니다. 병합하려는 범위의 셀은 인접해야합니다.
Carles Company

2
여기에 추가 정보가 있습니다. 병합 후 가장 왼쪽 상단 셀 값만 유지됩니다 (나머지 셀 값은 무시 됨)
curiousBoy

76

셀을 동적으로 병합하려면 다음을 사용할 수도 있습니다.

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

interop을 통해 사용할 수 있습니다.

range.Merge();
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.