C#/Office

[C#] Excel Cell 값 가져오기

쓰봥 2021. 11. 18. 00:27
SMALL

목적

 - C# 개발 환경에서, Interop.Office.Excel.dll 을 이용 하여 Cell 값 가져오기.

 

<Excel 예제>


● Sheet 에서 값 가져오기

 

예제를 보면서 이야기 해 보도록 하자.

 

[예제 코드]

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

  - Excel  기능을 사용하기 위한 Dll 을 먼저 using 문으로 선언 해주고.

 

Excel.Application xlApp = new Excel.Application();
Workbook xlWb = null;
Worksheet xlWs = null;

xlWb = (Workbook)xlApp.Workbooks.Open(@"C:\BlogReference\ExcelUtilityExam.xlsx");
xlWs = xlWb.Worksheets.get_Item(1);

if(xlWs.Cells[2,2].Value != null)
{
    string cell_value = xlWs.Cells[2, 2].Value.ToString();
    Console.WriteLine("cell_value : " + cell_value);
}

  1) Excel 객체를 사용하기 위한 Application, Workbook, WorkSheet 를 선언한다.

 

  2) Excel 파일의 경로를 입력 하여 Workbook 을 채워준다.

 

  3) WorkSheet 를 Workbook 에서 get_Item 으로 가져온다.   

     - 괄호 안의 숫자는 Excel 문서 에서  Sheet 의 순서

     - 본 예제 에서는 Sheets 가 하나 이기에 '1' 을 넣었지만, Sheets 가 많다면, 원하는 Sheet 의 위치 를 넣는다.

   

  4) Sheets 에서 Cells 에 Column , Row 정보를 입력.

     - 입력한 Cells 의 Column 과 Row 를 Excel Sheet 에서 보면   Cells[2,2] -> Cells[B,2]

 

※ 참고

 - Sheets 에서 내용이 있는 Cell 의 범위 정보 가져오기

Range range = xlWs.UsedRange;
string value = range.cells[1,2].Value.ToString()