Untuk Membaca data excel dari luar, dan meng-importnya ke datatable ASP.net, yang kita perlukan adalah sebuah koneksi, dimana koneksi tersebut akan membuka jalan kita untuk melakukan query didalam data excel. Berikut ini adalah contoh 3 koneksi yang berbeda tergantung kepada ekstensi file Excelnya :
akan ada sedikit masalah apabila nanti website kita di hosting, dan server tidak memiliki office
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | //get ekstensi string strFileType = Path.GetExtension(FileName).ToLower(); //penentuan koneksi berdasarkan ekstensi if (strFileType.Trim() == ".xls") { connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="file-path-nya"; Extended Properties='Excel 8.0;HDR={1}'"; } else if (strFileType.Trim() == ".xlsm") { connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="file-path-nya";Extended Properties='Excel 12.0 Macro;HDR=YES'"; } else if (strFileType.Trim() == ".xlsx") { connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="file-path-nya";Extended Properties=Excel 12.0;"; } //pembukaan connection string OleDbConnection conn = new OleDbConnection(connString); if (conn.State == ConnectionState.Closed) conn.Open(); //query untuk mengambil data dari excel berdasarkan nama sheet DataSet Ds = new DataSet(); OleDbDataAdapter dAdapter = new OleDbDataAdapter("select * from ["nama-sheet"$]", conn); dAdapter.TableMappings.Add("Table", "Excel"); dAdapter.Fill(Ds); DataTable Dt = new DataTable(); Dt = Ds.Tables[0]; |
No comments:
Post a Comment