// 创建进行存取的字符串
    sDsn.Format("ODBC;DRIVER={%s};DSN='';DBQ=%s", sDriver, sFile);

    TRY
    {
        // 打开数据库(既Excel文件)
        database.Open(NULL, false, false, sDsn);
        
        CRecordset recset(&database);

        // 设置读取的查询语句.注意此处表名的写法,excel里的表默认为系统表所以访问表时表名应为[表名$]

        sSql = "SELECT * FROM [Sheet1$]";

        // 执行查询语句
        recset.Open(CRecordset::forwardOnly, sSql, CRecordset::readOnly);
CDBVariant varValue;
//short index = 0;
        // 获取查询结果
short nFields = recset.GetODBCFieldCount();
        while (!recset.IsEOF())
        {
// for (short index = 0; index<nFields;index++)
// {
//读取Excel内部数值
recset.GetFieldValue(short(0),varValue);
//显示记取的内容
//m_ExcelList.AddString(  );
// AfxMessageBox(sItem1);
//}            // 移到下一行
            recset.MoveNext();
        }

        // 关闭数据库
        database.Close();
recset.Close();excel 里第一行存的是数字,为什么这样读取出来的是1.0  2.0 ......还有开头的文字也读取不出来
在表格里有文字和数字 总共A-F如何读取不出错!