首页 > 代码库 > 将Excel导入DataGridView 中的"select * from [Sheet1$]"中[ ]里面表单名的动态获取

将Excel导入DataGridView 中的"select * from [Sheet1$]"中[ ]里面表单名的动态获取

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;