c语言读取excel的问题!!
以下是读取excel的核心程序段,,当excel文件里面只有几个sheet时,可以根据sheet名(程序中是 SheetName变量)找到对应的sheet,读取里面的数据。但是当excel里面有几十个sheet的时候,往往得到的cbTableName远小于sheet的个数,这样就找不到我需要的sheet了。不知道哪里出了问题,求教高手!!不胜感激if(SQL_SUCCESS != SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&hEnv))
{
return -1;
}
SQLSetEnvAttr(hEnv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, SQL_IS_INTEGER);
if(SQL_SUCCESS != SQLAllocHandle(SQL_HANDLE_DBC,hEnv,&hDBC))
{
return -1;
}
rec = SQLConnect(hDBC, (SQLCHAR*)"MYEXCELDB01", SQL_NTS, (SQLCHAR*)"", SQL_NTS, (SQLCHAR*)"", SQL_NTS);
if(SQL_SUCCESS != SQLAllocHandle(SQL_HANDLE_STMT,hDBC,&hSTMT))
{
return -1;
}
rec = SQLTables(hSTMT, NULL, 0, NULL, 0, NULL, 0, NULL, 0);
SQLBindCol(hSTMT, 3, SQL_C_CHAR, szTableName, STR_LEN, &cbTableName);
rec = SQLFetch(hSTMT);
for (i = 0; i < cbTableName; i++)
{
if (strstr(szTableName, SheetName))
break;
rec = SQLFetch(hSTMT);
}