반응형
C#으로 엑셀 셀 선택 방법
1. 목표
-
1개의 셀 선택
-
2개 이상의 셀 범위 선택하기
-
에러의 경우 살펴보기
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_03
{
class Program
{
static void Main(string[] args)
{
Application excelapp = new Application();
Workbook read_wb = excelapp.Workbooks.Open(Filename: @"C:\test\123.xlsx");
Worksheet ws = read_wb.Worksheets.Item[1];
Range rg1 = ws.Cells[1, 1];
Range rg2 = ws.Range["A1"];
Range rg3 = ws.Range[ws.Cells[1, 1], ws.Cells[3, 3]];
//에러
//Range rg2_1 = ws.Range[1, 1];
//Range rg2_2 = ws.Range[ws.Cells[1,1]];
//Console.WriteLine(rg3_1);
read_wb.Close();
excelapp.Quit();
Marshal.ReleaseComObject(rg1);
Marshal.ReleaseComObject(rg2);
Marshal.ReleaseComObject(rg3);
Marshal.ReleaseComObject(read_wb);
Marshal.ReleaseComObject(excelapp);
}
}
}
3. 뜯어 보기
Range rg1 = ws.Cells[1, 1];
-
rg1이란 범위 객체에 셀을 할당한다
-
ws.Cells[1,1]은 1개의 셀만 선택할 때 사용된다.
Range rg2 = ws.Range["A1"];
-
rg2에 범위를 설정한다.
-
위와 다르게 Ragne를 써서 "A1"이라는 엑셀의 셀 좌표 표현 방식을 그대로 사용한다.
-
"A1:C:4"와 같이 엑셀 함수에서 사용하는 표현법으로 선택도 가능하다.
Range rg3 = ws.Range[ws.Cells[1, 1], ws.Cells[3, 3]];
-
rg3의 범위를 시작 셀과 마지막셀을 이용하여 범위를 선택한다.
-
1개의 셀을 선택할땐 Cells[1,1]을, 범위를 선택할땐 Range를 사용한다.
//Range rg2_1 = ws.Range[1, 1];
//Range rg2_2 = ws.Range[ws.Cells[1,1]];
-
두 경우 모두 Range의 매개변수가 잘못되어 에러가 난다.
-
Range는 시작셀과 끝셀이 지정되어야만 한다.
반응형
'C# > C# & Excel' 카테고리의 다른 글
C# 엑셀(Excel) 06. 셀 테두리, 배경, 크기 설정 방법 (0) | 2021.02.15 |
---|---|
C# 엑셀(Excel) 05. 셀 병합, 셀 병합 해제 방법 (0) | 2021.02.11 |
C# 엑셀(Excel) 04. 워크시트 셀에 값, 함수 넣기 (2) | 2021.02.09 |
C# 엑셀(Excel) 02. C#으로 워크시트 선택, 생성, 컨트롤 (0) | 2021.02.04 |
C# 엑셀(Excel) 01. C#으로 엑셀 열기, 저장, 닫기 (0) | 2021.01.31 |