我有一个excel文件,其结构如下所示。 我想从这个文件中读取数据。有两种方法可以做到这一点: - 使用OLEDB加载到DB。但在这种情况下,它似乎无法做到这一点。
String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + ExcelFileName + ";" + "Extended Properties=Excel 8.0;";
OleDbConnection objConn = new OleDbConnection(sConnectionString);
objConn.Open();
OleDbCommand objCmdSelect = new OleDbCommand("SELECT * FROM [Sheet1$]", objConn);
OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();
objAdapter1.SelectCommand = objCmdSelect;
DataSet objDataset1 = new DataSet();
objAdapter1.Fill(objDataset1);
alt text http://img31.imageshack.us/img31/6736/unstructureexcel.png
由于
答案 0 :(得分:0)
oledb的难点在于工作表有三个标题行。因此,您需要指定排除标题的范围。
OleDbCommand objCmdSelect = new OleDbCommand("SELECT * FROM [Sheet1$A4:E65535]", objConn);
即使您指定了范围的最大行值,它也只会读取可用数据。
如果这对您有用,它将比Excel自动化更快更容易。
答案 1 :(得分:0)
看起来你只是用它来将数据加载到数据库中(我假设SQL Server?)你应该考虑使用SSIS(SQL Server Integration Services)加载excel文件。