본문 바로가기
C++ 200제/코딩 IT 정보

[C# 엑셀 읽기] Microsoft.Office.Interop.Excel 참조 추가

by vicddory 2017. 3. 13.

C#은 많은 장점을 보유한 프로그래밍 언어입니다. 많은 장점 중에서도 유독 빛을 내주는 장점이 하나 있는데 그건 바로 MS의 존재입니다.


MS는 많은 윈도우 기반의 솔루션을 내놓는 동시에, 자사 제품 간에 호환이 쉽도록 이런저런 도구들도 많이 배포하고 있습니다. (C# 엑셀 라이브러리도 마찬가지)


이 포스트에서 소개할 Microsoft.Office.Interop.Excel은 C#에서 엑셀 파일을 컨트롤 할 수 있도록 도와주는 일종의 API입니다. 흔히 말하는 Excel Automation이기도 합니다.

이미 많은 블로거 분이 참조 추가하는 방법을 포스팅하셨습니다만, 제가 처음에 이해를 잘 못 하여 별도로 포스팅하게 되었습니다. 엑셀 오토메이션을 응용하는 예제는 많이 있으니 여기선 참조 추가하는 방법만 간단히 다룹니다. 읽기 쓰기 등 편집은 다른 분의 글을 참고해주세요.


먼저, 비주얼 스튜디오에 프로젝트를 열어놓고 솔루션 탐색기로 이동합니다.


- 참조 - 오른쪽 마우스로 클릭 - 참조 추가 클릭


솔루션 탐색기에서 참조 추가[C# 엑셀] 솔루션 탐색기에서 참조 추가


그러면 아래처럼 참조 관리자 창이 새로 뜨는데, 제가 헷갈려서 버벅대던 부분이기도 합니다. 만약, 현재 윈도우에 2010 버전이 설치되었다면, 아래처럼 14.0 버전의 라이브러리 이름이 보이실 겁니다.


Microsoft Excel 14.0 Object Library


윈도우 환경에 따라 버전은 다를 수 있습니다. 여튼, 저 라이브러리 왼쪽을 눌러 아래 그림처럼 체크 박스를 띄웁니다.


Microsoft Excel 14.0 Object Library 선택[C# 엑셀] Microsoft Excel 14.0 Object Library 선택


그러면, 또 아래처럼 추가된 화면을 확인할 수 있지요.


Microsoft.Office.Interop.Excel 확인[C# 엑셀] Microsoft.Office.Interop.Excel 확인


엑셀 오토메이션을 사용하기 위한 준비 작업이 완료된 것입니다. 라이브러리 추가가 완료되었다면, 실제로 엑셀 파일을 제어할 코드를 넣어줍니다.


전역으로 라이브러리를 사용하겠다 선언합니다.


1
using Excel = Microsoft.Office.Interop.Excel;
cs


그리고 아래처럼 엑셀 요소별 객체를 만들어 제어합니다.


1
2
3
4
Excel.Application xl_app; // 엑셀 파일을 가리킴
Excel.Workbook xl_work_book; // 엑셀 파일의 전체 요소를 보유
Excel._Worksheet xl_work_sheet; // 원하는 영역의 엑셀 파일의 데이터를 보유
Excel.Range range; // 엑셀 sheet의 실제 데이터를 응용하는 데 필요
cs


이 정도로 정리합니다. 상세한 사용 예는 다른 분들의 포스트를 참조하세요.


Excel 읽기 관련 글은 다른 분의 포스트를 참조하세요.



Microsoft Excel 관련 글


댓글