if(OpenDialog1->Execute())
{
AnsiString ds;
ds=OpenDialog1->FileName; //获取Excel文件全路径
try
{
DataModule2->ADOQueryInport->SQL->Clear(); //清空sql
DataModule2->ADOQueryInport->SQL->Add("INSERT INTO 原始数据表 SELECT * FROM OPENROWSET('MSDASQL','DRIVER={Microsoft Excel Driver (*.xls)};DBQ="+ ds +"','SELECT * FROM [smaster$]')") ; //添加sql
DataModule2->ADOQueryInport->ExecSQL() ;//不能用Open
}
catch(...)
{
MessageBox(this->Handle,"Excel文件格式不对,不能包含制表符(Tab) /n 。","提示",MB_OK);
return;
}
其中 原始数据表是数据库表名,smaster是excel 文件名,两者的字段要相同。