请教用ADO打开EXCEL表,为什么打开不了?我把分数全给了
hafoo 2005-12-21 04:46:52 我的代码如下
static char BASED_CODE szpMapFilter[]="Microsoft Office Excel文件 (*.xl*;*.xls)|*.xl*;*.xls";
CFileDialog dlgFile(TRUE,"*.gst",NULL,0,szpMapFilter,NULL);//弹出选择对话框
CString m_strFilePath="";
if(dlgFile.DoModal()==IDOK)
{
//获得地图路径
m_strFilePath=dlgFile.GetPathName();
}
_ConnectionPtr pExcelConnection;
_RecordsetPtr pRecordset;
CString strtableName="";//表名
int nFieldCount=0;//字段数
int nItemCount=0;//行数
int nTableCount=0;//表数
pExcelConnection.CreateInstance("ADODB.Connection");
_bstr_t strConnect;
pRecordset.CreateInstance(__uuidof(Recordset));
pRecordset->CursorLocation = adUseClientBatch;
//针对SQL server
strConnect="Provider=Microsoft.Jet.OLEDB.4.0;Data Source='"+m_strFilePath+"'; Extended Properties=Excel 8.0;Persist Security Info=False";
pExcelConnection->Open(strConnect,"","",adModeUnknown);
// pRecordset = pExcelConnection->OpenSchema(adSchemaTables,"Sheet1");
//可是一到此处就出现错误,如何解决
pRecordset->Open("Select * from Sheet1$",pExcelConnection.GetInterfacePtr(), adOpenDynamic, adLockOptimistic , adCmdText/*adCmdTable*/);
nTableCount=pRecordset->GetRecordCount();
nFieldCount=pRecordset->GetFields()->GetCount();
CString strFieldName="";
strFieldName=(LPCSTR)pRecordset->GetFields()->GetItem("姓名")->GetName();