1 使用的命名空间为:using System.Data.OleDb;
2 连接数据库的字符串为:string myConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d://目录.xls;Extended Properties=/"Excel 8.0;HDR=No;IMEX=1/""; //*.xsl可以认为是数据库了,HDR表示是否隐藏excel的第一行(因为第一行一般表示字段名称),IMEX表示是否把所有字段当做文本来处理。
3 OleDbConnection myConnection = new OleDbConnection(myConn);
4 string mySQLstr = "SELECT f1,f2,f5 FROM [Sheet1$]"; //[Sheet1$]就是表格了,选取第1,2,5列,用Fn表示第n列
5 OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(mySQLstr, myConnection);
6 DataSet myDS = new DataSet();
7 myDataAdapter.Fill(myDS, "[Sheet1$]"); //原理都跟读取sql是一样O(∩_∩)O
8 DataTable dt = myConnection.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null); //把相关信息记录到datatable中
string tbname = dt.Rows[0][2].ToString().Trim(); //读取表名信息
PS:由于excel单元格的默认格式为varchar(255),因此想到读出255个以上的字符时,需要修改注册表
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Jet/4.0/Engines/Excel]
"TypeGuessRows"="0"
表示从前多少行内判断该单元格内数据的类型