검색결과 리스트
엑셀연동에 해당되는 글 1건
- 2010.04.06 [C#] 엑셀과 연동 -_-a 1
글
엑셀하고 연동하다가.. 그 부분을 남겨두는게 좋을 것 같아서..
포스팅.. 이게 대체 얼마만인가 ㅠㅠ
일단 제일 먼저 참조를건다. 8.0과 9.0이 있었던거 같은데..
오피스 버전에 따라 다른 것이었다
using Excel = Microsoft.Office.Interop.Excel;
선언을 살포시 해 준 다음..
Excel.Workbook workbook = null;
Excel.Worksheet worksheet = null;
Excel.Application application = null;
선언을 해준다.
object missing = System.Reflection.Missing.Value;
object fileName = @"파일.xls";
위에 파일 이름은 파일이 저장되는 경로이다.
그리고 처리를 해서 엑셀 파일 양식을 읽어온다.
application = new Excel.Application();
application.Visible = false;
엑셀창이 나타나지 않고 작업을 진행하기 위해서 처리를 하고난 다음
workbook = application.Workbooks.Open(@"파일.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
작업 양식이 저장되어 있는 엑셀을 열어주고
worksheet = (Excel.Worksheet)workbook.Sheets["시트명"];
해당 시트를 생성하고 난 다음 작업을 시작하면 된다
get_Range는 해당하는 범위를 가져온다.
예를 들어서 다음과 같이 하면
worksheet.get_Range("A12", "H12").Insert(Excel.XlInsertShiftDirection.xlShiftDown, Type.Missing);
해당 라인이 추가가 된다. 당연히 빈 공백이다.
그리고 해당하는 범위의 색을 바꾸자고 한다면
worksheet.get_Range("A12", "H12").Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.White);
형식으로 해 주면 된다.
해당하는 셀에 직접 입력하는 경우는
worksheet.Cells[12, 1] = i.ToString();
형식이다.
해당 파일을 열어서 그 데이터를 가져오고자 할 경우에는
worksheet.Cells.get_Range("B7", "B7").Text.ToString();
과 같이 해 주면 된다.
그리고 마지막으로 작업을 끝내고 난 다음 저장을 할 경우에
workbook.SaveAs(fileName, Excel.XlFileFormat.xlWorkbookNormal, missing, missing, missing, missing, Excel.XlSaveAsAccessMode.xlShared, Excel.XlSaveConflictResolution.xlLocalSessionChanges, missing, missing, missing, missing);
여기서 fileName은 포스팅 위쪽에 명시된 대상 파일이다.
위와같은 처리를 해서 저장을 해 주면 된다!!
그거 말고도 참.. 많던데.. 쉽지 않은 작업.. 이였다.. 왜 -_-;; 몰랐으니까;;
포스팅.. 이게 대체 얼마만인가 ㅠㅠ
일단 제일 먼저 참조를건다. 8.0과 9.0이 있었던거 같은데..
오피스 버전에 따라 다른 것이었다
using Excel = Microsoft.Office.Interop.Excel;
선언을 살포시 해 준 다음..
Excel.Workbook workbook = null;
Excel.Worksheet worksheet = null;
Excel.Application application = null;
선언을 해준다.
object missing = System.Reflection.Missing.Value;
object fileName = @"파일.xls";
위에 파일 이름은 파일이 저장되는 경로이다.
그리고 처리를 해서 엑셀 파일 양식을 읽어온다.
application = new Excel.Application();
application.Visible = false;
엑셀창이 나타나지 않고 작업을 진행하기 위해서 처리를 하고난 다음
workbook = application.Workbooks.Open(@"파일.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
작업 양식이 저장되어 있는 엑셀을 열어주고
worksheet = (Excel.Worksheet)workbook.Sheets["시트명"];
해당 시트를 생성하고 난 다음 작업을 시작하면 된다
get_Range는 해당하는 범위를 가져온다.
예를 들어서 다음과 같이 하면
worksheet.get_Range("A12", "H12").Insert(Excel.XlInsertShiftDirection.xlShiftDown, Type.Missing);
해당 라인이 추가가 된다. 당연히 빈 공백이다.
그리고 해당하는 범위의 색을 바꾸자고 한다면
worksheet.get_Range("A12", "H12").Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.White);
형식으로 해 주면 된다.
해당하는 셀에 직접 입력하는 경우는
worksheet.Cells[12, 1] = i.ToString();
형식이다.
해당 파일을 열어서 그 데이터를 가져오고자 할 경우에는
worksheet.Cells.get_Range("B7", "B7").Text.ToString();
과 같이 해 주면 된다.
그리고 마지막으로 작업을 끝내고 난 다음 저장을 할 경우에
workbook.SaveAs(fileName, Excel.XlFileFormat.xlWorkbookNormal, missing, missing, missing, missing, Excel.XlSaveAsAccessMode.xlShared, Excel.XlSaveConflictResolution.xlLocalSessionChanges, missing, missing, missing, missing);
여기서 fileName은 포스팅 위쪽에 명시된 대상 파일이다.
위와같은 처리를 해서 저장을 해 주면 된다!!
그거 말고도 참.. 많던데.. 쉽지 않은 작업.. 이였다.. 왜 -_-;; 몰랐으니까;;
RECENT COMMENT