const string cmdText = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0; HDR=YES; IMEX=1;'";
OleDbConnection conn = new OleDbConnection(string.Format(cmdText, path));//path是文件在服务器或本地的路径
conn.Open();
DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);<span style="color:#009900;">//拿到excel文件中所有的sheet表</span>
string sql = "";
string sheetName = "";
for (int i = 0; i < schemaTable.Rows.Count; i++)//循环遍历每个sheet表
{
sheetName = schemaTable.Rows[i]["TABLE_NAME"].ToString();//<span style="color:#009900;">sheet表名称,表名后面有"$",可以用split方法去掉</span>
sql = "select * from ["+schemaTable.Rows[i]["TABLE_NAME"]+"]";
OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "mapTable");
DataTable dt = ds.Tables[0];//此时sheet表中的数据就全部装入到dt集合中去了
}
*** 在开发项目时,可能会频繁遇到的问题就是提示,输入字符串格式不正确,那是因为本身excel文件中单元格数据可能包含非数据格式,比如空格符,非法字符,中文字符等,
那么在数据转换Convert.To....的时候就会报这个错误,所以数据转换时需要注意这一点