1. 程式人生 > >如何獲取excel對應的sheet個數和對應的名字

如何獲取excel對應的sheet個數和對應的名字

public static int GetExcelTableCount(string filename) { DataTable dt = new DataTable(); OleDbConnection cnnxls = new OleDbConnection(); try { string mystring = "Provider = Microsoft.Jet.OLEDB.4.0 ;Extended Properties=Excel 8.0;Data Source =" + filename; cnnxls.ConnectionString = mystring; cnnxls.Open(); dt = cnnxls.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); return dt.Rows.Count; } finally { cnnxls.Close(); } return 0; } public static string[] GetExcelTableNames(string filename) { DataTable dt = new DataTable(); OleDbConnection cnnxls = new OleDbConnection(); try { string mystring = "Provider = Microsoft.Jet.OLEDB.4.0 ;Extended Properties=Excel 8.0;Data Source =" + filename; cnnxls.ConnectionString = mystring; cnnxls.Open(); dt = cnnxls.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); } finally { cnnxls.Close(); } List names = new List(); foreach (DataRow row in dt.Rows) { names.Add(row["TABLE_NAME"].ToString().Trim('/'', '$').Replace("''", "'").Replace("$$", "$")); } return names.ToArray(); }