c#獲取excel中的所以sheet名稱(自用筆記)
阿新 • • 發佈:2019-01-03
Excel.Application myExcel = new Excel.Application(); object missing = System.Reflection.Missing.Value; myExcel.Application.Workbooks.Open(this.txtFile.Text, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);//this.txtFile.Text為Excel檔案的全路徑 Excel.Workbook myBook = myExcel.Workbooks[1]; //獲取第一個Sheet Excel.Worksheet sheet = (Excel.Worksheet)myBook.Sheets[1]; string sheetName = sheet.Name; //Sheet名 //獲取全部Sheet名 public static StringCollection ExcelSheetName(string filepath) { StringCollection names = new StringCollection(); string strConn; strConn = "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" + filepath + ";Extended Properties='Excel 12.0;HDR=Yes;IMEX=2'"; OleDbConnection conn = new OleDbConnection(strConn); conn.Open(); DataTable sheetNames = conn.GetOleDbSchemaTable (System.Data.OleDb.OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); conn.Close(); foreach (DataRow dr in sheetNames.Rows) { names.Add(dr[2].ToString()); } return names; }