Excel 批量快速匯入mySQL 解決方案

2022-07-16 15:54:15 字數 1555 閱讀 8985

1

最近在做乙個交叉表的資料批量匯入,採用過很多方式一直沒有特別理想的解決方案,昨天終於解決了,以下是測試記錄:23

openfiledialog openfile

=new

openfiledialog();

4openfile.filter ="

工作薄(*.xlsx)|*.xlsx|所有檔案(*.*)|*.*";

5if(openfile.filterindex ==1

&&openfile.showdialog()

==dialogresult.ok)617

18this

.backgroundworker1.runworkerasync();

1920

資料匯入:分為兩個步驟:第

一、先把資料從excel匯入到datagridview;第

二、啟動後台處理執行緒。

2122

2324

public

delegate

void

myinvoke(

string

str);

2526

delegate

void

starttqdata();

2728

public

void

settxt(

string

str)

2933

34////35

36getdatagridview()

3738

4344

////

4546

4748

myinvoke mi

=new

myinvoke(settxt);

49begininvoke(mi,

newobject

);

5051

this

.invoke(

newstarttqdata(getdatagridview));

5253

後台執行緒處理:

5455

一種方式:

5657

1、先把資料全部插入到乙個臨時表中,和你匯入的目標表相同的表結構

5859

2、然後利用load data outfile到乙個

*.txt文字檔案中

6061

3、利用load data infile

*.txt到目標資料表中

6263

另外一種方式:

6465

1、先把資料全部插入到乙個臨時表中,和你匯入的目標表相同的表結構

6667

2、將臨時表資料匯入到目標資料表中,當然要判斷是否有該記錄,如有更新,沒有插入,呵呵,沒有load data infile replace方便了。

6869

10w條資料在10s

-20s之間,應該還是在可承受範圍之內。當然更為合適的方式就是匯入資料的excel格式與你的目標**式相同,那就執行效率更高了,20w條資料只需要幾s就搞定了。

快速匯入Excel

using system using system.collections.generic using system.text using system.data.oledb using system.data.sqlclient using system.data using system.win...

python讀取excel並匯入mysql

如果excel檔案內的資料是這樣的 idname agebirthday 1kate 112008 2 2 2mike 221997 4 4 3tom 331986 5 5 首先,匯入python包xlrd,以及它的乙個方法 xldate as tuple。import xlrd from xlrd...

java批量匯入Excel

util包 public class excelhelp catch exception ex for int numsheet 0 numsheet workbook.getnumberofsheets numsheet 迴圈行row for int rownum 1 rownum sheet.g...