領導分配一個需求是把excel中的幾萬條資料匯入到SQLite中。
我用逐行遍歷再寫入SQLite的方式太耗費時間,于是舍棄。
后來從網上找到一個軟體叫sqlite-shell-win32-x86-3080403。這個倒是很好使,幾萬條資料幾秒鐘就存入了SQLite。
但是缺點是需要手動輸入命令列像cmd一樣執行命令才能匯入資料。
軟體打開如下圖

想知道怎么用Delphi程式實作像這個里面輸入命令并執行。
我試過把這個當成cmd用,執行cmd命令,只能執行到打開這個軟體,后面的陳述句都不執行了。
想問問如果我想像這個軟體自動輸入代碼完成以下這個命令匯入資料。要怎么實作呢?
命令是:
.open D:\OffLine333.db
.separator ','
.import D:\ICD10.csv ICD10
或者哪位有更好的方法能夠比較迅速的將excel中的資料導進SQLite的也請分享一下。
多謝了!
uj5u.com熱心網友回復:
建議使用XLSReadWriteII4控制元件,因數不同的EXCWL結構和表欄位,寫法相差很大,代碼大致二步:讀資料,寫入動態陣列
xls := TXLSReadWriteII4.Create(Self);
XLS.Read;
for Row := 6 to XLS.Sheets[0].LastRow-2 do
begin
A[Top,0]:=XLS.Sheets[0].AsString[0,First];
A[Top,1]:=XLS.Sheets[0].AsString[1,First];
A[Top,2]:=XLS.Sheets[0].AsString[2,First];
。。。。。。
end;
寫資料DBGrid中
for i:=0 to Top-1 do
begin
Append;
FieldByName('日期').asString:=A[i,0];
FieldByName('發票代碼').asString:=A[i,1];
FieldByName('發票號碼').asString:=A[i,2];
Post;
end;
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/61649.html
標籤:數據庫相關
