void ConnDb()
{
_ConnectionPtr m_pConnection;
::CoInitialize(NULL);
try{
//創建Connection 對象
m_pConnection.CreateInstance("ADODB.Connection");
//設置連接字符串,必須是BSTR型或者_bstr_t類型
_bstr_t strConnect="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d://mydb.xls;Extended Properties=Excel 5.0;Persist Security Info=False";
m_pConnection->Open(strConnect,"","",adModeUnknown);
_bstr_t vInsertSql="insert into [tb2$](v1,v2) values('2','dd')";
m_pConnection->Execute(vInsertSql,NULL,adCmdText);
_bstr_t vCreateSql="create table tb3(id int,user_nm varchar(20))";
m_pConnection->Execute(vCreateSql,NULL,adCmdText);
m_pConnection->Close();
::CoUninitialize();
}catch(_com_error e) //捕捉異常
{
//AfxMessageBox(e.Description());
cout<<e.Description()<<endl;
}
};
void printNun(double a[][33])
{
for(int i=0;i<33;i++)
{for(int j=0;j<33;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
};
void ConnExcel()
{
//添加一個指向Recordset 對象的指針
_RecordsetPtr m_pRecordset;
//添加一個指向Connection對象的指針
_ConnectionPtr m_pConnection;
double s[33][33];
::CoInitialize(NULL); //初始化OLE/COM環境,爲訪問ADO接口做準備
try{
//創建Connection 對象
m_pConnection.CreateInstance("ADODB.Connection");
//設置連接字符串,必須是BSTR型或者_bstr_t類型
_bstr_t strConnect="Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=d://mydb.xls";
m_pConnection->Open(strConnect,"","",adModeUnknown);
}catch(_com_error e) //捕捉異常
{
//AfxMessageBox(e.Description());
cout<<e.Description()<<endl;
}
try{
//添加一個指向Recordset 對象的指針
// _RecordsetPtr m_pRecordset;
//創建記錄集對象
m_pRecordset.CreateInstance(_uuidof(Recordset));
_bstr_t bstrSQL="SELECT * FROM [tb1$]";
//取得表中的記錄
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
//double s[33][33];
int j=0;
while(m_pRecordset->adoEOF!=-1){
for(int i=0;i<33;i++)
{
_variant_t vIndex = (long)i;
_bstr_t str=(_bstr_t) m_pRecordset->GetCollect(vIndex);
s[j][i]=atof(str);
}
m_pRecordset->MoveNext();
j++;
}
// printNun(s);
//_bstr_t vInsertSql="insert into [tb2$](v1,v2) values(1,'dd')";
//m_pConnection->Execute(vInsertSql,NULL,adCmdText);
}catch(_com_error f)
{
cout<<f.Description()<<endl;
}
//關閉記錄集和連接
if(m_pRecordset!=NULL)
m_pRecordset->Close();
m_pConnection->Close();
::CoUninitialize();
}
#include<iostream>
using std::cout;
using std::endl;
#import "C:/Program Files/Common Files/System/ado/msado15.dll" no_namespace rename("EOF","adoEOF") rename("BOF","adoBOF")
//#include<iomanip>
//using std::setw;