C++ 中實現把EXCEL的數據導入數據庫(ACCESS、MSSQL等)實例代碼
在把EXCEL的數據導入數據庫之前,先進行一些簡單的準備工作:
1。把數據所在的EXCEL表另保存為DBF 4格式。
2。打開BCB,添加AdoTable(改名為DBFTable)和DataSource這兩個控件
OK,準備工作,到此結束,剩下的就是打代碼了
1。在Form_Load()事件中,加入以下代碼:
1
2
3
4
5
6
7
8
|
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);
以下是函數的具體實現:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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(當然,你也可以改變),
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
原文鏈接:http://blog.csdn.net/hellogv/article/details/1505360