各位朋友,我想知道的是通过什么方法能够知道一个已经存在的EXCEl文件中有几个sheet页?每个sheet页的名称是什么?谢谢高手解答!!!

解决方案 »

  1.   

    _Application   m_oApp;  
    Workbooks m_oBooks;
    _Workbook m_oBook;
    Worksheets m_oSheets;
    _Worksheet m_oSheet;
    m_oApp.CreateDispatch("Excel.Application",NULL);
    m_oBooks.AttachDispatch(m_oApp.GetWorkBooks());
    COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
    //m_szFilePath--EXCEL文件路径
    lpDisp = m_oBooks.Open(m_szFilePath,  covOptional, covOptional, covOptional,      covOptional,               covOptional,covOptional, covOptional, covOptional, covOptional, covOptional,   covOptional, covOptional); 
    m_oBooks.AttachDispatch(lpDisp);
    m_oSheets.AttachDispatch(m_oBook.GetSheets());
    //获取sheet页的个数
    m_nSheet = m_oSheets.GetCount();
    CString* strSheetName;
    strSheetName = new CString[m_nSheet];
    for(i = 0; i < m_nSheet; i++)
    {
        m_oSheet.AttachDispatch(m_oSheets.GetItem(COleVariant((short)(i + 1))));
        //各个Sheet的名字
        strSheetName[i] = m_oSheet.GetName();
    }