// 创建进行存取的字符串
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如何读取不出错!
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如何读取不出错!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货