其实读取Excel表格中的数据和读取数据库中的数据是非常类似的,因为在某种程度上Excel表格可以看成是一张一张的数据表。其二者的主要区别在于所使用的数据引擎不一样。在本文的程序中,通过下列代码实现读取Excel表格数据,具体如下:
Code
string strDataPathPhy = "c:\\1.xls";
string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " + strDataPathPhy + ";Extended Properties=Excel 8.0";
OleDbConnection myConn = new OleDbConnection(strCon);
string strCom = " SELECT * FROM [Sheet1$]";
myConn.Open();
OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
DataTable dtData = new DataTable();
myCommand.Fill(dtData);
myConn.Close();
由于可以把Excel看左一个数据库,里面的工作表就可以看左每张数据库表,所以也可以对搜索结果进行筛选,例如:
strCom = " SELECT * FROM [Sheet1$] WHERE column1 <> '' ";
这样dtData里面的数据就是[Sheet1$]表中column1不为空的全部数据了
但遇到这样一个问题,假如工作表的名字你不知道,应该怎么SELECT数据出来呢?还望有高手赐教,先谢谢了