用查询的方式,批量导入EXCEL 到“库”时,通常会需要获取到EXCEL 表名。
DataTable shtNamTab = Oconn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,null);
用 GetOleDbSchemaTable(OleDbSchemaGuid.Tables,null) 来获取 表 名 的集合;
DataTable shtNamTab = Oconn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,null);
1 openFileDialog1.Title = "打开上报表"; 2 openFileDialog1.FileName = ""; 3 openFileDialog1.Filter = "ExcelFile|*.xlsx"; 4 if (openFileDialog1.ShowDialog() == DialogResult.OK) 5 { 6 string ExPath = openFileDialog1.FileName; 7 string ExConn = "Provider=Microsoft.Ace.OleDb.12.0;" + "data source=" + ExPath + ";Extended Properties='Excel 12.0; HDR=Yes; IMEX=1'"; 8 OleDbConnection Oconn = new OleDbConnection(ExConn); 9 Oconn.Open(); 10 DataTable shtNam = Oconn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); 11 string shtTbNam = shtNam.Rows[0]["Table_Name"].ToString(); 12 //MessageBox.Show(shtTbNam); 13 this.dataGridView1.DataSource = shtNam; 14 Oconn.Close(); 15 }