티스토리 뷰

요구사항

 

1. COM Object 참조 추가

 

 

 

 

2. 네임스페이스 추가

 

using Excel = Microsoft.Office.Interop.Excel;

 

 

기본 동작 순서 및 구조

 

  1: Excel.Application xlApp = null;
  2: Excel.Workbook xlWorkBook = null;
  3: Excel.Worksheet xlWorkSheet = null;
  4: object misValue = System.Reflection.Missing.Value;
  5: 
  6: xlApp = new Excel.ApplicationClass();
  7: {
  8: 	xlWorkBook = xlApp.Workbooks.Add(misValue);
  9: 	{
 10: 		xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.Add(misValue, misValue, misValue, misValue);
 11: 
 12: 		releaseObject(xlWorkSheet);
 13: 	}
 14: 	xlWorkBook.Close(true, misValue, misValue);
 15: 	releaseObject(xlWorkBook);
 16: }
 17: xlApp.Quit();
 18: releaseObject(xlApp);

 

 

1. 항목별 초기화 (애플리케이션 – 워크북 – 워크시트)

 

  1: Excel.Application xlApp = null;
  2: Excel.Workbook xlWorkBook = null;
  3: Excel.Worksheet xlWorkSheet = null;

 

 

2. Missing Value 정의

 

  1: object misValue = System.Reflection.Missing.Value;

 

 

3. 애플리케이션 인스턴스 생성

 

  1: xlApp = new Excel.ApplicationClass();

 

 

4. 애플리케이션 인스턴스 해제 (http://hldec.net/entry/COM-%EC%98%A4%EB%B8%8C%EC%A0%9D%ED%8A%B8-Release%ED%95%98%EA%B8%B0)

 

  1: releaseObject(xlApp);

 

 

5. 애플리케이션 종료

 

  1: xlApp.Quit();

 

 

6. 워크북 인스턴스 생성

 

  1: xlWorkBook = xlApp.Workbooks.Add(misValue);

 

 

7. 워크북 인스턴스 해제 (http://hldec.net/entry/COM-%EC%98%A4%EB%B8%8C%EC%A0%9D%ED%8A%B8-Release%ED%95%98%EA%B8%B0)

 

  1: releaseObject(xlWorkBook);

 

 

8. 파일 열기

 

  1: xlWorkBook = xlApp.Workbooks.Open(/*파일 명*/, 0, /*읽기 전용 ex)true*/, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);

 

 

9. 파일 저장하기

 

  1: xlWorkBook.SaveAs(/*파일 명*/, Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);

 

 

10. 워크북 닫기

 

  1: xlWorkBook.Close(/*저장 여부 ex)true*/, misValue, misValue);

 

 

11.  워크시트 생성

 

  1: xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.Add(misValue, misValue, misValue, misValue);

 

 

12. 워크시트 인스턴스 해제 (http://hldec.net/entry/COM-%EC%98%A4%EB%B8%8C%EC%A0%9D%ED%8A%B8-Release%ED%95%98%EA%B8%B0)

 

  1: releaseObject(xlWorkSheet);

 

13. 워크시트 가져오기

  1: xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(/*워크시트 인덱스*/);

 

 

14. 워크시트 이름 변경

 

  1: xlWorkSheet.Name = /*워크시트 이름*/;

 

 

15. 셀에 내용 설정

 

  1: xlWorkSheet.Cells[y, x] = /*셀 내용*/;

 

 

16. 셀의 값 가져오기

  1: string value = /*알맞는 캐스트로 변경*/(string)(range.Cells[/*Cell Y*/, /*Cell X*/] as Excel.Range).Value2

 

 

17. 셀 범위 설정 (1)

 

  1: Excel.Range range = worksheet.get_Range(/*시작 위치 ex)"A1"*/, /*마지막 위치 ex)"E1"*/);

 

 

18. 셀 범위 설정 (2)

 

  1: Excel.Range range = objSheet.get_Range(/*시작 위치 ex)"A1"*/, Missing.Value);
  2: range = range.get_Resize(/*Width 범위*/, /*Height 범위*/);

 

 

19. 선택된 셀의 행 전체 선택

 

  1: Excel.Range range = ((Excel.Range)xlWorkSheet.Cells[/*Cell Y*/, /*Cell X*/]).EntireRow;

 

 

20. 선택된 셀의 열 전체 선택

 

  1: Excel.Range range = ((Excel.Range)xlWorkSheet.Cells[/*Cell Y*/, /*Cell X*/]).EntireColumn;

 

 

21.  셀 배경 색 설정

 

  1: System.Drawing.Color color = System.Drawing.ColorTranslator.FromHtml(/*색상 ex)#FFFFFF*/);
  2: ((Excel.Range)xlWorkSheet.Cells[/*Cell Y*/, /*Cell X*/]).Interior.Color = System.Drawing.ColorTranslator.ToOle(color);

 

 

22. 셀 내용 포맷 설정 (http://xlsgen.arstdesign.com/core/numberformat.html)

 

  1: ((Excel.Range)xlWorkSheet.Cells[/*Cell Y*/, /*Cell X*/]).EntireColumn.NumberFormat = /*포맷 ex)"@"*/;

 

 

23. 셀 크기 자동 맞춤

 

  1: ((Excel.Range)xlWorkSheet.Cells[/*Cell Y*/, /*Cell X*/]).EntireColumn.AutoFit();
댓글
댓글쓰기 폼