วิธีโหลดข้อมูลจากไฟล์ Excel ได้เร็วขึ้น [ซ้ำกัน]

ฉันสร้างโค้ดต่อไปนี้เพื่อโหลดข้อมูลจากไฟล์ Excel เพื่อนำเสนอในตาราง DataGridview และใช้งานได้ดี แต่ใช้เวลานานในการโหลดข้อมูลจากไฟล์ขนาดใหญ่ (ประกอบด้วยประมาณ 330,000 แถว X 20 คอลัมน์) และกระบวนการโหลดคือ ยังไม่เสร็จสมบูรณ์.

ดังนั้นฉันจึงมองหาวิธีที่เร็วกว่าในการโหลดข้อมูลขนาดใหญ่ไปยังตาราง DataGridview

private void Load_Click(object sender, EventArgs e)
{
   DataGrid_1.datasource = null;
   DataGrid_1.datasource = Get_Data_Excel("C:\Test.xls","Select * from [Sheet1$]");
}

public static DataTable Get_Data_Excel(string File_Pth, string Qrr)
{
    OleDbConnection con = new OleDbConnection(
        "provider=Microsoft.ACE.OLEDB.12.0;data source="
            + File_Pth
            + ";Extended Properties=Excel 12.0;");

    StringBuilder stbQuery = new StringBuilder();

    stbQuery.Append(Qrr);

    OleDbDataAdapter adp = new OleDbDataAdapter(stbQuery.ToString(), con);

    DataSet dsXLS = new DataSet();
    adp.Fill(dsXLS);

    return dsXLS.Tables[0];
}

person Doicare    schedule 17.09.2015    source แหล่งที่มา
comment
แล้วการใช้ผู้ทำงานเบื้องหลังและทำสิ่งต่าง ๆ แบบอะซิงโครนัสล่ะ?   -  person Uwe Keim    schedule 17.09.2015
comment
คำถามนี้ถูกถามและตอบมาก่อน โปรดลองค้นหาสักหน่อยในอนาคต stackoverflow.com/questions/17577184/   -  person SpaceSteak    schedule 17.09.2015
comment
นี่อาจแก้ปัญหาฟอร์มค้างได้ แต่ฉันคิดว่ายังต้องใช้เวลาโหลดนานอยู่   -  person Doicare    schedule 17.09.2015
comment
@SpaceSteak คำถามที่เชื่อมโยงของคุณใช้ PIA ในขณะที่คำถามนี้ใช้ OleDB   -  person Uwe Keim    schedule 17.09.2015
comment
ขึ้นอยู่กับจำนวนข้อมูลที่คุณร้องขอ/สืบค้น ข้อความค้นหาของคุณมีประสิทธิภาพแค่ไหน? ไฟล์ excel มีขนาดใหญ่แค่ไหน? สิ่งเหล่านี้ล้วนมีความสำคัญ การวางไว้บนเธรดอื่นจะไม่ช่วยแก้ไขปัญหาอย่างแน่นอน ภาพลวงตาที่อาจช่วยได้ แต่จริงๆ แล้วไม่ได้เป็นเช่นนั้น มันแค่ปลดล็อคเธรดหลัก   -  person Ahmed ilyas    schedule 17.09.2015
comment
ขอบคุณ @UweKeim ฉันแค่จะพูดแบบนี้   -  person Doicare    schedule 17.09.2015
comment
@SpaceSteak เป็นไปได้ไหมที่จะลบโพสต์ที่เชื่อมโยงเนื่องจากฉันไม่ได้รับความช่วยเหลือใด ๆ เนื่องจากบันทึกซ้ำที่คุณเพิ่มในคำถามของฉัน   -  person Doicare    schedule 18.09.2015