ฉันสร้างโค้ดต่อไปนี้เพื่อโหลดข้อมูลจากไฟล์ 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];
}