'Excel'에 해당되는 글 1건

  1. 2007/11/06 C#으로 Excel Control (4)

C#으로 Excel Control

C# 2007/11/06 18:06 posted by isili

 //
 // 엑셀파일 한 줄을 읽어와서 화면에 출력하는 프로그램.
 //

Firststep.

참조추가:
COM -> Microsoft Excel 11.0 Object Library(Office 버전 별로 다름)
을 추가.

Secondstep

// 이런 식으로 using 하면 조금더 쉽게 사용할 수 있음.
using Excel = Microsoft.Office.Interop.Excel;  

// Excel 실행
            Excel.Application objExcel = new Excel.Application();
            Excel.Workbook objExcelWorkbook;
            Excel.Worksheet objExcelWorksheet;
// 엑셀 실행후 -> Workbook에 담는다.
objExcelWorkbook = objExcel.Workbooks.Open(@"c:\\test.xlsx",
           Missing.Value, Missing.Value, Missing.Value,
           Missing.Value, Missing.Value, Missing.Value, Excel.XlSaveAsAccessMode.xlNoChange,
           Missing.Value, Missing.Value, Missing.Value, Missing.Value,
           Missing.Value, Missing.Value, Missing.Value);
           
// 워크 시트 중에 1번째 것을 가져온다.
objExcelWorksheet = (Excel.Worksheet)objExcelWorkbook.Worksheets[1];

// 워크 시트중에서 가져올 부분을 range를 통해 긁어온다.
Excel.Range range = null;
range = objExcelWorksheet.get_Range("A1", "A9");
// 여기서 불만 위에서 처럼 가져올 부분을 반드시 입력을 해야 하는 것인가.
// A에 있고 ""이 아니면 가져올 수 있는 방법은 연구를 해봐야 하겠음.

// 일종의 팁으로 값이 있는 가장 마지막 행로 이동하는 메쏘드.
range = range.get_End(Microsoft.Office.Interop.Excel.XlDirection.xlDown);

Third Step.

모든 작업을 순차적으로 완료 하였을 경우
아래와 같은 Close 부분을 추가하여야 한다.

       objExcel.Workbooks.Close();
       objExcel.Quit();

        range = null;
        objExcelWorksheet = null;
        objExcelWorkbook = null;
        objExcel = null;

아래와 같이 입력하지 않았을 경우 excel.exe 인스턴스가 계속 상주하게 되어 파일이 읽기 전용으로 열린다.

TAG , ,