+ -
当前位置:首页 → 问答吧 → C++操作EXCEL.哪个函数能得到excel表个里面所有工作表的个数?

C++操作EXCEL.哪个函数能得到excel表个里面所有工作表的个数?

时间:2011-12-01

来源:互联网

我好像是用的ole的方法来操作excel表格的,基本的功能差不多都完成了。现在少个得到该表格的sheet的个数,和删除,增加一个sheet。
我前半部分代码:
C/C++ code

CApplication    app; 
    CWorkbooks        books;
    CWorkbook        book;
    CWorksheets        sheets;
    CWorksheet        sheet;
    CRange            range,range1;    // Excel中针对单元格的操作都应先获取其对应的Range对象
    CRange            cols1;
    LPDISPATCH lpDisp;    
    /*
    COleVariant类为VARIANT数据类型的包装。
    在自动化程序中,通常都使用VARIANT数据类型进行参数传递。
    故下列程序中,函数参数都是通过COleVariant类来转换的。
    */
    COleVariant        covOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
    // 创建EXCEL服务器(启动Excel) 
    if (::CoInitialize( NULL ) == E_INVALIDARG)
    {
        AfxMessageBox(_T("初始化Com失败!"));
        return ;
    }
    if (!app.CreateDispatch("Excel.Application"))
    {
        AfxMessageBox("无法创建Excel应用!");
        return ;
    }
    books= app.get_Workbooks();
    app.put_Visible(FALSE);
    app.put_UserControl(FALSE);
    lpDisp = books.Open(m_filepath,
        covOptional, covOptional, covOptional, covOptional, covOptional,
        covOptional, covOptional, covOptional, covOptional, covOptional,
        covOptional, covOptional,covOptional, covOptional);
    book.AttachDispatch(lpDisp);
    int sheetnum ;
    sheets.AttachDispatch(book.get_Worksheets());
    sheet = sheets.get_Item(COleVariant((short)1));

作者: pvlking   发布时间: 2011-12-01

没用过,估计是sheets.Count

作者: mlqxj35674   发布时间: 2011-12-01

sheets.Count()
sheets.Add()
sheets.Delete()

作者: fight_in_dl   发布时间: 2011-12-01

记得应该是 sheets.count()

作者: wymesmile   发布时间: 2011-12-01