例子:\VC98\ATL\ACTIVEDOC
上哪吃

解决方案 »

  1.   

    下面代码知识对EXCEL控制,并进行数据读写的例子,但愿给你有所帮助吧
    _Application m_app;
    Range m_range;
    _Worksheet m_worksheet;
    Workbooks m_workbooks;
    Worksheets m_worksheets; LPDISPATCH pDisp;
     LPUNKNOWN pUnk;
     CLSID clsid;
     BeginWaitCursor();
     ::CLSIDFromProgID(L"Excel.Application.9",&clsid);
     if(::GetActiveObject(clsid,NULL,&pUnk)==S_OK)
     {
        VERIFY(pUnk->QueryInterface(IID_IDispatch,(void**)&pDisp)==S_OK);
      m_app.AttachDispatch(pDisp);
    pUnk->Release();

     else
     {
    if(!m_app.CreateDispatch("Excel.Application.9"))
      {
      AfxMessageBox("Excel2000 program not found");
    }
      TRACE("create complete\n");
     }
     EndWaitCursor();
     LPDISPATCH pWorkbooks;
     CWnd *pWnd=CWnd::FindWindow("XLMAIN",NULL);
     if(pWnd!=NULL)
     {
     TRACE("EXCEL WINDOW FOUND");
     pWnd->ShowWindow(SW_SHOWNORMAL);
     pWnd->UpdateWindow();
     pWnd->BringWindowToTop();
     } VERIFY(pWorkbooks=m_app.GetWorkbooks());
     m_workbooks.AttachDispatch(pWorkbooks); 
     LPDISPATCH pWorkbook=NULL;
     m_app.SetVisible(FALSE); 
     pWorkbook=m_workbooks.Add(COleVariant("c:\\1.csv"));
     LPDISPATCH pWorksheets=m_app.GetWorksheets();
     ASSERT(pWorksheets!=NULL);
     m_worksheets.AttachDispatch(pWorksheets);
     LPDISPATCH pWorksheet=m_worksheets.GetItem(COleVariant((short)1));
     m_worksheet.AttachDispatch(pWorksheet);
     m_worksheet.Activate();
     m_range.AttachDispatch(m_worksheet.GetRange(COleVariant("A2")));
     COleVariant vaResult=m_range.GetValue();
     m_bochang=vaResult.dblVal;
      

  2.   

    谢谢!您能把完整的例子的源文件压缩后发给我吗?我的信箱:[email protected]
      

  3.   

    不好意思,我这是给公司作的软件,不能全部给你,你具体有什么问题可以给我E-MAIL
    [email protected]