将Excel导入DataGridView 中的"select * from [Sheet1$]"中[ ]里面表单名的动态获取
时间:2014-04-28 04:29:08
收藏:0
阅读:1060
Sheet1$是Excel默认的第一个表名,如果改动:select * from [Sheet1$]"将查询失败,因此应根据选择自动获取excel表名:
1 OpenFileDialog ofd = new OpenFileDialog(); //选择文件路径 2 ofd.Title = "Excel文件"; 3 ofd.FileName = ""; 4 ofd.Filter = "Excel文件(*.xls)| *.xls"; 5 string Path = ofd.FileName; 6 string tableName = ""; 7 8 string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Path + ";" + "Extended Properties=Excel 8.0;"; 9 OleDbConnection conn = new OleDbConnection(strConn); 10 conn.Open(); 11 System.Data.DataTable sTable = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null); 12 tableName = sTable.Rows[0][2].ToString().Trim(); 13 14 for (int i = 0; i < sTable.Rows.Count; i++) 15 { 16 schemaTable.Rows[i][2].ToString().TrimStart(‘\‘‘).Trim(‘\‘‘, ‘$‘); 17 } 18 19 string strExcel = "select * from [" + tableName + "]"; 20 OleDbDataAdapter myCommand = new OleDbDataAdapter(strExcel, strConn); 21 DataSet ds = new DataSet(); 22 DataTable table1 = new DataTable(); 23 myCommand.Fill(table1); 24 //==========最后绑定 25 dataGridView1.DataSource = table1;
将Excel导入DataGridView 中的"select * from [Sheet1$]"中[ ]里面表单名的动态获取,布布扣,bubuko.com
评论(0)