想把excel表格中的数据导入到数据库,在界面上完成!求Vc读excel表的例子,万分感激

解决方案 »

  1.   

    占LZ宝地,同求
    如有源码请发wutong<[email protected]>谢谢。
      

  2.   

    本来是不想回的,我没有现成的程序,但现在我没积分了,只好写个给你了。积分一定要给啊。我写个access的例子。等一下给
      

  3.   

    void CSheetToAccessDlg::OnInsert()
    {
    CString strPath,strAccess;
    GetDlgItem(IDC_ED_SHEETPATH)->GetWindowText(strPath);
    GetDlgItem(IDC_ED_ACCESSPATH)->GetWindowText(strAccess);
    _Application app;
    Workbooks books;
    _Workbooks book;
    Worksheets sheets;
    _Worksheets sheet;
    Range range;if(!app.CreateDispath("Excel.Application",NULL))
    {
    AfxMessageBox("创建excel服务失败");
    exit(1);
    }
    books.AttachDispatch(app.GetWorkbooks());
    book.AttachDispatch(books.Add(_variant_t(strPath)));
    sheets.AttachDispatch(book.GetWorksheets());
    sheet.AttachDispatch(sheets.GetItem(_variant_t("sheet1")));
    range.AttachDispatch(sheet.GetCell());
    _variant_t varIndex,varCompany,varName,varPrice;
    try
    {
    m_pConnection.CreateInstance("ADODB.Connection");
    CString strConnect="DRIVER={Microsoft Access Driver(*.mdb)};\
    uid=;pwd;DBQ=";
    strConnect+=strAccess;
    strAccess+=";";
    m_pConnection->Open(_bstr_t)strConnect,"","",adModeUnknown);
    }
    catch(_com_error e)
    {
    AfxMessageBox(e.Description());
    }
    CString sql;
    for(int i=1;i<=4;i++)
    {
    varIndex=range.GetItem(COleVariant(long)i),COleVariant(long)1));
    varCompany=range.GetItem(COleVariant(long)i),COleVariant(long)2));
    varName=range.GetItem(COleVariant(long)i),COleVariant(long)1));
    varPrice=range.GetItem(COleVariant(long)i),COleVariant(long)1));
    sql.Format("insert into softinfo(company,name,price)value('%s','%s','%s')",
    (char*)(_bstr_t)varCompany,(char*)(_bstr_t)varName,(char*)(_bstr_t)varPrice);
    m_pConnection->Execute(_bstr_)sql,NULL,adCmdText);
    }
    m_pConnection->Close();
    m_pConnection=NULL;
    MessageBox("完成","完成",MB_OK);
    sheet.ReleaseDispatch();
    sheets.ReleaseDispatch();
    book.ReleaseDispatch();
    books.ReleaseDispatch();
    app.ReleaseDispatch();
    }