Excel을 DataGridView의 "select * from [sheet1$]"에서 [] 안의 폼 이름의 동적 가져오기

5034 단어 datagridview
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;

좋은 웹페이지 즐겨찾기