很多时候,我们其实只需要EXCEL中的数据而已,并不需要关心她的每个cell是什么颜色,一个sheet分了几个组。 如果只是单纯的读数据的话,我们可以使用OLEDB将EXCEL看成是一个数据库,每个sheet是一张表,然后建立连接,接下来就是标准的数据库操作了。
连接并打开Excel 2007:
string stringSqlConnectionString = @"Provider=Microsoft.ACE.OleDb.12.0;Data Source=" + FileName +";Extended Properties='Excel 12.0;HDR=YES'";
OleDbConnection objOleDbConnection = new OleDbConnection(stringSqlConnectionString);
objOleDbConnection.Open();//打开连接
DataTable objDataTableSheets = objOleDbConnection.GetSchema("Tables");//得到数据表的Schema
连接并打开Excel 2003:
如果你使用的是2003的话,记得将连接字符串改为
string stringSqlConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + "; Extended Properties='Excel 8.0;'")
连接并打开Excel 2007:
string stringSqlConnectionString = @"Provider=Microsoft.ACE.OleDb.12.0;Data Source=" + FileName +";Extended Properties='Excel 12.0;HDR=YES'";
OleDbConnection objOleDbConnection = new OleDbConnection(stringSqlConnectionString);
objOleDbConnection.Open();//打开连接
DataTable objDataTableSheets = objOleDbConnection.GetSchema("Tables");//得到数据表的Schema
连接并打开Excel 2003:
如果你使用的是2003的话,记得将连接字符串改为
string stringSqlConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + "; Extended Properties='Excel 8.0;'")