读取excel文件的问题代码:
TRY
{
//打开数据库,建立与这个Excel对应的Database
BOOLret=database.Open(NULL,false,false,sDsn);
CRecordsetrecset(&database);
//设置读取的查询语句
sSql="SELECTnumber,addressee,address,sendtime,senderidFROMd:\data\dd.xlsx";
//执行查询语句,打开表格
recset.Open(CRecordset::forwardOnly,sSql,CRecordset::readOnly);//这一行出现异常
//获取查询结果
while(!recset.IsEOF())
{
//读取Excel内部数值
recset.GetFieldValue(_T("number"),number);
recset.GetFieldValue(_T("addressee"),addressee);
recset.GetFieldValue(_T("address"),address);
recset.GetFieldValue(_T("sendtime"),sendtime);
recset.GetFieldValue(_T("senderid"),senderid);
//移到下一行
recset.MoveNext();
}
//关闭数据库
database.Close();
}
CATCH(CDBException,e)
{
//数据库操作产生异常时...
returnfalse;
}
END_CATCH;
returntrue;
上面代码中
sDsn="ODBC;DRIVER={MicrosoftExcelDriver(*.xls,*.xlsx,*.xlsm,*.xlsb)};DSN='';DBQ=d:\data\dd.xlsx"
最后,CDBException,e中的抛出异常如下:
m_strError="MicrosoftAccess数据库引擎找不到对象“xlsx”。请确保该对象存在,并正确拼写其名称和路径名。如果“xlsx”不是本地对象,请检查网络连接或与服务器管理员联系。"
m_strStateNativeOrigin="State:S0002,Native:-1305,Origin:[Microsoft][ODBCExcelDriver]"
有没有哪位碰到同样的问题?
分 -->
|