Tuesday 8 October 2013

Import Excel Data To DataTable ASP.Net

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