从excle读入数据时,默认sheet1是没有问题的,但是也只能是sheet1,代码如下:
OleDbCommand myOleDbCommand = new OleDbCommand(strSql + " FROM [" + tbFromXls.Rows[0]["Table_Name"].ToString() + "]", conn);
OleDbDataAdapter myData = new OleDbDataAdapter(myOleDbCommand);
myData.Fill(tbFromXls);如何做到任意sheet表名?谢谢!

解决方案 »

  1.   

    string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + strPath + ";" + "Extended Properties=Excel 8.0;";
                    string strSheetName = "";
                    using (OleDbConnection con = new OleDbConnection(strCon))
                    {
                        con.Open();
                        DataTable dtbl1 = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
                        strSheetName = dtbl1.Rows[0][2].ToString().Trim();
                    }
                    String strCmd = "select * from [" + strSheetName + "]";