C++ 中實現把EXCEL的數據導入數據庫(ACCESS、MSSQL等)實例代碼。本站提示廣大學習愛好者:(C++ 中實現把EXCEL的數據導入數據庫(ACCESS、MSSQL等)實例代碼)文章只能為提供參考,不一定能成為您想要的結果。以下是C++ 中實現把EXCEL的數據導入數據庫(ACCESS、MSSQL等)實例代碼正文
C++ 中實現把EXCEL的數據導入數據庫(ACCESS、MSSQL等)實例代碼
在把EXCEL的數據導入數據庫之前,先進行一些簡單的准備工作:
1。把數據所在的EXCEL表另保存為DBF 4格式。
2。打開BCB,添加AdoTable(改名為DBFTable)和DataSource這兩個控件
OK,准備工作,到此結束,剩下的就是打代碼了
1。在Form_Load()事件中,加入以下代碼:
AnsiString filepath=ExtractFilePath(FileName); //FileName為DBF文件名 AnsiString tablename=ExtractFileName(FileName).SubString(0,ExtractFileName(FileName).Length()-4);//去除文件的擴展名 //--------------------用於連接DBF文件-------------------------------- DBFTable->ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0; Password=/"/";Data Source=/""+filepath+"/"; Extended Properties=dbase 5.0;Persist Security Info=True"; DBFTable->TableName=tablename; DBFTable->Open();
2。新建一個類的成員函數void __fastcall ExcelToDB(TADOQuery *ADOQuery);
以下是函數的具體實現:
void __fastcall TDBFToDBForm::ExcelToDB(TADOQuery *ADOQuery) {//實現很簡單,只是把DBFTable的數據逐項添加的本地的數據庫 DBFTable->First(); for(int j=0;j<DBFTable->RecordCount;j++) { ADOQuery->Append(); for(int i=0;i<DBFTable->FieldCount;i++) ADOQuery->FieldByName(DBFTable->FieldList->Strings[i])->AsString=DBFTable->FieldByName(DBFTable->FieldList->Strings[i])->AsString; ADOQuery->Post(); DBFTable->Next(); } ShowMessage("導入成功!"); }
說明:DBFTable使用來裝載EXCEL另保存的數據,而程序本身裝載數據用的是ADOQuery(當然,你也可以改變),
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!