char *p = ""标题""z","x","c","123","234","345"";
我想把这个缓冲区内的数据写入EXECL,"标题"写第一行,"z\x\c"三个写第二行,类似字段名,"123\234\345"写第三行,类似字段内容,相对应于z\x\c.
char *pp = ""标题""z","x","c","564","674","389"";第二次写入数据时,标题和字段名都是一样的,所以只要在第四行相应写入"564","674","389";
该如何写入? 用MFC.
我本来想用class CSpreadSheet来完成,不过还没着手,不熟悉使用方法.请高手指点,谢谢.

解决方案 »

  1.   

    用ADO来打开也可以,如同数据库一样操作........
      

  2.   

    首先在 CWinApp 类中调用 AfxOleInit() 函数;
    然后
    CApplication excelApp = NULL;
    CWorkbooks workbooks = NULL;
    COleVariant vTrue( ( short )TRUE ), vFalse( ( short )FALSE ), vOpt( ( long )DISP_E_PARAMNOTFOUND, VT_ERROR );if ( !excelApp.CreateDispatch( "Excel.Application", NULL ) )
    return;excelApp.put_Visible( FALSE );
    workbooks = excelApp.get_Workbooks();
    CWorkbook workbook;
    CWorksheet worksheet;
    workbook = workbooks.Open( "d:\\test.xls", vOpt, vFalse, vOpt, vOpt, vOpt, vOpt, vOpt, vOpt, vOpt, vOpt, vOpt, vOpt, vOpt, vOpt );
    CWorksheets worksheets = workbook.get_Worksheets();
    worksheet = worksheets.get_Item( COleVariant( "Sheet1" ) );
    CRange rng = worksheet.get_Range( COleVariant( "A1" ),COleVariant( "E10" ) );
    rng.CopyPicture( 1, 2 );::OpenClipboard( GetSafeHwnd() );
    HBITMAP hBitmap = (HBITMAP)GetClipboardData(  CF_BITMAP );     
    m_Picture.SetBitmap( hBitmap );
    CloseClipboard();if ( excelApp )
    {
    excelApp.put_DisplayAlerts( FALSE );
    excelApp.Quit();
    }
      

  3.   

    如果同目录下存在同名EXECL文件,则直接写入.没则创建新文件..
      

  4.   

    char *p = ""标题""z","x","c","123","234","345","标题""z","x","c","564","674","389"";
    我想在EXECL中只在第一行现实"标题"
    第二行显示""z","x","c","
    第三行","123","234","345"和第四行","564","674","389"请问如何实现?谢谢!
      

  5.   

    用用友的CELL报表很容易实现,呵呵,我偷懒了