我有一个文本文件,我想在程序里删选出有用的纪录自动填入一个excel文件(同时还要创建一个新的sheet),应该如何处理?望高手指点!拜拜了先~~

解决方案 »

  1.   

    查查msdn,,有自动化对象可以用的。
      

  2.   

    #import "C:\Program Files\Microsoft Office\Office\MSO9.DLL"
    #import "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB"
    #import "C:\Program Files\Microsoft Office\Office\MSWORD9.OLB" \
    rename("ExitWindows","_ExitWindows")
    #import "C:\Program Files\Microsoft Office\Office\EXCEL9.OLB" rename("DialogBox","_DialogBox") \
    rename("RGB","_RGB") \
    exclude("IFont","IPicture")
    long j;
    HRESULT              hr;
    CString FileName,LoadFile,SaveFile,SaveFileName,Temp1;
    CHAR      FilePath[255];
    VARIANT     Temp;
    COleVariant  TEMP2;
    CTime NowTime;
    hr=CoInitialize(NULL);
    Excel:: _ApplicationPtr MyExcel("Excel.Application.9");
    ::GetCurrentDirectory(255,FilePath); 
    FileName.Format("%s",FilePath); 
    LoadFile=FileName+"\\考勤月报表0530.xls";
    TEMP2=(COleVariant)LoadFile;
    Temp=TEMP2.Detach(); 
    Excel::_WorksheetPtr  Sheet;
    Excel::RangePtr  MyRange;
    _variant_t m_str;
    if (MyExcel)
    {
    hr=MyExcel->Workbooks->Open( (_bstr_t)Temp);
    MyExcel->GetApplication()->put_Visible(1,VARIANT_BOOL(TRUE));  

    for(int i=0;i<MyExcel->Worksheets->GetCount();i++) 
    {
    Sheet=MyExcel->Worksheets->GetItem(COleVariant(long(i+1)));
    //long j=Sheet->get_Rows(MyRange);
    m_ShowMe.Empty(); 
    strcat(m_ShowMe.GetBuffer(0),(char *)Sheet->GetName());  
    UpdateData(FALSE);
    ::AfxMessageBox(m_ShowMe);
      

  3.   

    To mfkzj:
    我建了一个MFC项目,选择菜单project下的add to project->Components and Controls,选择了MSO9.DLL等文件,但是他跳出一个对话框说:The file you selected is not a recognized component. 
    why?非常感谢!!!