카테고리

  • 안드로이드
  • IOS
  • MFC
  • JAVA
  • AWS
  • LAMP
  • 여행&사진
  • 이런저런생활
  • 2016년 1월 31일 일요일

    [MFC] 각 Cell의 값 취득 및 값 입력

    오리지널 팁 - http://www.devpia.com/Maeul/Contents/Detail.aspx?BoardID=51&MAEULNO=20&no=8151&page=15

    출처 - http://takabosoft.com/20091030101433.html

    셀의 값 취득 방법

    #include "CApplication.h"
    #include "CWorkbooks.h"
    #include "CWorksheets.h"
    #include "CWorkbook.h"
    #include "CWorksheet.h"
    #include "CRange.h"
    void CHogeHogeDlg::OnBnClickedButton1()
        CApplication App;
        if (!App.CreateDispatch(_T("Excel.Application"))) {
            ASSERT(0);
            return;
        }
        App.put_Visible(TRUE);
        CWorkbooks Workbooks = App.get_Workbooks();
        // 既存のエクセルファイルを開く
        COleVariant varNull(DISP_E_PARAMNOTFOUND, VT_ERROR);
    //    varNull.ChangeType(VT_NULL);
        CWorkbook Workbook = Workbooks.Open(_T("c:\\hogehoge.xls"), varNull, varNull, varNull, varNull, varNull, varNull, varNull, varNull, varNull, varNull, varNull, varNull,varNull, varNull);
        CWorksheets Worksheets = Workbook.get_Worksheets();
        CWorksheet Worksheet = Worksheets.get_Item(COleVariant((long)1));
        CRange Cells = Worksheet.get_Cells();
        CRange Cell = Cells.get_Item(COleVariant((long)1), COleVariant((long)1)).pdispVal;
        CString str = Cell.get_Text().bstrVal;

    //** Cell값 입력
    Cell.put_Value2(COleVariant(_T("Input Text")));

    //** 엑셀 파일 저장 및 종료
    //** 현재 입력한 값을 현재 파일에 저장할 경우 사용
    Workbook.Save();

    //** 현재 입력한 값을 다른 파일로 저장할 때 사용(파일 이름이 동일한 파일이 있을 경우 통지 메세지 표시)

    //    Worksheet .SaveAs("c:\\test.xls",NonOption,NonOption,NonOption,//ファイルへ保存
      NonOption,NonOption,NonOption,NonOption,NonOption);
    
     App.Quit();
     Workbooks .ReleaseDispatch();
     App.ReleaseDispatch();
    }

    MSDN에서 기본 사용방법 예제

    댓글 없음 :

    댓글 쓰기