반응형
C#으로 셀 병합, 병합 해제 하기
1. 목표
-
셀 선택하여 병합하기
-
셀 병합 해제 방법
2. 전체코드
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Office.Interop.Excel;
using System.Runtime.InteropServices;
namespace chapter_05
{
class Program
{
static void Main(string[] args)
{
Application excelapp = new Application();
Workbook read_wb = excelapp.Workbooks.Open(Filename: @"C:\test\1234.xlsx");
Worksheet ws = read_wb.Worksheets.Item[2];
Range rg1 = ws.Range[ws.Cells[12, 1], ws.Cells[12, 2]];
rg1.Merge();
Range rg2 = ws.Cells[12, 1];
rg1.UnMerge();
read_wb.Save();
read_wb.Close();
excelapp.Quit();
Marshal.ReleaseComObject(rg1);
Marshal.ReleaseComObject(rg2);
Marshal.ReleaseComObject(ws);
Marshal.ReleaseComObject(read_wb);
Marshal.ReleaseComObject(excelapp);
}
}
}
3. 뜯어 보기
Range rg1 = ws.Range[ws.Cells[12, 1], ws.Cells[12, 2]];
rg1.Merge();
-
지난 4회에 사용된 "1234.xls를 이용하여 작업한다.
-
2번 시트의 합계가 있는 행의 "Total"이란 텍스트가 있는 셀을 합치는 방법이다.
-
셀의 범위를 정하여 "rg1.Merge();"를 이용하여 셀을 병합한다.
-
셀 병합시 가장 왼쪽 값이 병합된 셀의 내용으로 들어간다. (기본 엑셀의 기능과 동일하다)
Range rg2 = ws.Cells[12, 1];
rg1.UnMerge();
-
병합된 셀을 다시 나누는 방법이다.
-
병합된 셀의 첫번째 셀을 선택한 후 UnMerge()를 이용하여 병합을 해제한다.
-
위의 rg1처럼 병합된 셀 전체 범위(Range)를 이용하여 병합 해제도 가능하다.
-
"rg1.UnMerge()"와 rg2.UnMerge()"는 동일하게 동작한다.
반응형
'C# > C# & Excel' 카테고리의 다른 글
C# 엑셀(Excel) 07. 엑셀 폰트 크기, 정렬, 색상 등 설정하기 (0) | 2021.02.16 |
---|---|
C# 엑셀(Excel) 06. 셀 테두리, 배경, 크기 설정 방법 (0) | 2021.02.15 |
C# 엑셀(Excel) 04. 워크시트 셀에 값, 함수 넣기 (2) | 2021.02.09 |
C# 엑셀(Excel) 03. 워크시트 셀 선택 방법 (0) | 2021.02.07 |
C# 엑셀(Excel) 02. C#으로 워크시트 선택, 생성, 컨트롤 (0) | 2021.02.04 |