我用vc6.0做了个学生信息管理系统!里面的数据用Ado连接,用DataGrid控件显示!我该如何将DataGrid中的数据 导出到 excel呢?

解决方案 »

  1.   

    http://www.codechina.net/resource/html/2005-02/28/15582.html
    之后再查询一下msdn就没有问题了。
      

  2.   

    void CMainInfDlg::OnMaininfGuide() 
    {
         // TODO: Add your control notification handler code here
    CFileDialog dlg(TRUE,"xls",".xls");
    int structsize;
    DWORD dwVersion;
    dwVersion=GetVersion();
    if(dwVersion<0x80000000)
    structsize=88;
    else
    structsize=76;
    dlg.m_ofn.lStructSize=structsize;
    CString path;
    if(dlg.DoModal()==IDOK)
            path=dlg.GetPathName();
       
    COleVariant VOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
        _Application objApp;
    Workbooks objbooks;
    _Workbook objbook;
    Worksheets objsheets;
    _Worksheet objsheet;
    Range objRang;
    objApp.CreateDispatch("Excel.Application");
    objbooks=objApp.GetWorkbooks();
    objbook.AttachDispatch(objbooks.Add(_variant_t(path)));
    objsheets=objbook.GetSheets();
    objsheet=objsheets.GetItem((_variant_t)short(1));
    objRang.AttachDispatch(objsheet.GetCells(),TRUE);
    int ss,nn;
    double dTotal(0);

    CString cc;
    nn=m_adodc.GetRecordset().GetRecordCount();
    CColumns cls;
    cls=m_datagrid.GetColumns();
    ss=cls.GetCount();
    for(int i=0;i<nn;i++)
    {
    m_datagrid.SetRow(i);
    for(int j=0;j<ss;j++)
    {
    m_datagrid.SetCol(j);
    cc=m_datagrid.GetText();
    if(j==9)
    dTotal=dTotal+atoi(cc);
    objRang.SetItem(_variant_t((long)(i+2)),_variant_t((long)(j+1)),_variant_t(cc));
    }
    }
    objApp.SetVisible(TRUE);
    objRang.ReleaseDispatch();
    objsheet.ReleaseDispatch();
    objsheets.ReleaseDispatch();
    objbook.ReleaseDispatch();
    objbooks.ReleaseDispatch();
    objApp.ReleaseDispatch();}
      

  3.   

    当然要导入 相关的EXECEL 文件 H  CPP的
      

  4.   

    谢谢楼上的兄弟们
    当然要导入 相关的EXECEL 文件 H  CPP的
    -----------------------------------------------
    可以告我吗? 
    -------------------------------------------------------------还有个问题!这个与excel版本有关吗?
      

  5.   

    如果你安装了office 是可以找到这些类的。具体  在你的工程里单击Add class 按钮,在下拉菜单中选择From a type library 出现对话框 选择你的 OFFICE安装目录 选择execel9.lob 代开confirm class  选择相关类,如_Application Workbooks _workbook worksheets _worksheet Range等 这些类包含在 excel9.h excel9.cpp中