我要把RS232口源源不断传来的数据经过处理再存入excel文件,麻烦高手指点迷津,怎样创建文件,怎样把数据写进去啊?我一点思路都没有,谢谢!!

解决方案 »

  1.   

    http://www.vckbase.com/document/viewdoc/?id=1168
      

  2.   

    不过如果你要做实时性比较高的程序的话,这个类可能达不到要求,我用这个类的时候发现速度快的时候程序就挂掉了,建议直接写。
    #include "excel9.h"
    COleVariant
    covTrue((short)TRUE),
    covFalse((short)FALSE),
    covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);_Application ExcelApp; 
    Workbooks wbsMyBooks; 
    _Workbook wbMyBook; 
    Worksheets wssMysheets; 
    _Worksheet wsMysheet; 
    Range rgMyRge; 
    新建
    if (!ExcelApp.CreateDispatch("Excel.Application",NULL)) 

    AfxMessageBox("创建Excel服务失败!"); 
    exit(1);

    ExcelApp.SetVisible(false); 

    wbsMyBooks.AttachDispatch(ExcelApp.GetWorkbooks(),true); 

    wbMyBook.AttachDispatch(wbsMyBooks.Add(covOptional));
    //得到Worksheets 
    wssMysheets.AttachDispatch(wbMyBook.GetWorksheets(),true);
    //得到sheet1 
    wsMysheet.AttachDispatch(wssMysheets.GetItem(_variant_t("sheet1")),true);
    //得到全部Cells,此时,rgMyRge是cells的集合 
    rgMyRge.AttachDispatch(wsMysheet.GetCells(),true); 
    插入数据
    rgMyRge.SetItem(_variant_t((long)i),_variant_t((long)1),_variant_t(str));
    保存
    wbMyBook.SaveAs(COleVariant("d:\\1.xls"),covOptional,
    covOptional,covOptional,
    covOptional,covOptional,(long)0,covOptional,covOptional,covOptional,
     covOptional);可以达到效果,我用VC + MSCOMM控件,数据50毫秒一个
      

  3.   

    谢谢先,弱弱的再问一句
    _Application ExcelApp; 
    Workbooks wbsMyBooks; 
    _Workbook wbMyBook; 
    Worksheets wssMysheets; 
    _Worksheet wsMysheet;
    是怎么来的?哪里有这方面的资料?我的msdn里没有。
      

  4.   

    excel  Sdk 可以参阅一下  首先明白Excel的层次结构
      

  5.   

    以vc6为例,classwizard->automation->Add class->from a type library->定位到excel.exe文件(office XP、2003、2005均可),即可生成相应的excel相关类。好像是COM+调用,执行效率很低,每次运行会有excel后台进程启动接口说明查看office文档
      

  6.   

    如果用odbc拿它当数据库用,会不会快一点?
      

  7.   

    你可以试试,COM+写的时候的确存在创建的时候会比较慢,但是写数据不慢,而且COM+写的时候要主意关闭进程