본문 바로가기
Programing/C#

C#에서 Excel형식 File 다루기

by june._.note 2017. 2. 7.

일단 지금 당장 필요한 DataGridView에 들어있는 데이터를 Excel File로 Export, Import 하는 기능을 시작해서

 

C#에서 Excel을 다루는 방법을 정리하고자 함.

 

일단 Microsoft.Office.Interop.Excel을 참조 추가하는 것부터 시작.

 

 

using Excel = Microsoft.Office.Interop.Excel;

 

....

 

Excel.Application app = new Excel.Application();

Excel._Workbook wb = app.Workbooks.Add("");  //'_'가 붙고 안붇은 interface의 차이는 찾아 봐야 할 듯.

Excel._Worksheet sheet = (Excel.Worksheet) wb.ActiveSheet; // 활성화 된 Sheet를 가져옴.

 

app.Visible = true; //처음에 실행했을때 Background에서 실행되고 있는데 Visible을 활성화함으로서 창을 띄워줌.

 

Excel.Range header = sheet.get_Range(sheet.Cells[1,1], sheet.Cells[1, 2]);  //sheet.get_Range("A1", "B1")과 같은 표현으로 범위 지정 가능.

// Excel에서 마우스 클릭하여 Cell을 선택하는 것과 동일한게 Excel.Range이다. 시작 Cell과 끝 Cell을 지정해서 해당 범위내의 Cell들을 선택하는 경우

// 한개의 Cell을 선택할 때에도 Excel.Range cell1 = (Range)sheet.Cells[1, 1]; 이렇게 정의 해주어야 함.

 

//지정된 범위의 클자크기, 배경색 등 지정하기.

header.Font.Bold = true; //글씨 굵게

header.HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;   // 중앙정렬

header.Interior.Color = ColorTranslator.ToOle(Color.LightBlue); //배경색 지정

header.Columns.AutoFit(); //컬럼 간격 자동맞춤.

header.Borders.LineStyle = Excel.XlLineStyle.xlContinuous; //실선

header.Borders.Weight= Excel.XlBorderWeight.xlThin; //얇은 선

 

//특정 Cell [1, 1]의 데이터 읽기

string Data = ((Range)sheet.Cells[1, 1]).Value.ToString();

 

// 특정 Cell [1, 1]의 데이터 쓰기

((Range)sheet.Cells[1, 1]).Value = "New Data";

 

 

참조 :     http://stackoverflow.com/questions/23041021/how-to-write-some-data-to-excel-file-xlsx