一、安装Excel2007 或者 下载2007的插件 http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.exe
二、导入代码
protected DataTable ExcelHelper(string filePaht) { string sFilePath2003 = Server.MapPath("ExcelData/2003.xls"); //string sFilePath2007 = Server.MapPath("ExcelData/2007.xlsx"); // 支持Excel2003 和 Excel2007 的连接字符串 // "HDR=yes;"是说第一行是列名而不是数据,"HDR=No;"正好与前面的相反。 // 如果列中的数据类型不一致,使用"IMEX=1"可必免数据类型冲突。 string sConn = "provider=Microsoft.ACE.OleDb.12.0; Data Source ='" + sFilePath2003 + "';Extended Properties='Excel 12.0;HDR=yes;IMEX=1';"; if (string.IsNullOrEmpty(sConn)) { return null ; } DataTable dtExcel = new DataTable(); using (OleDbConnection conn = new OleDbConnection(sConn)) { conn.Open(); // 获取Excel的第一个SheetName string sSheetName = ""; DataTable dtSheet = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" }); if (dtSheet.Rows.Count > 0) sSheetName = dtSheet.Rows[0]["Table_Name"].ToString(); else return null; // 获取Excel数据 string sSql = string.Format("select * from [{0}]", sSheetName); OleDbDataAdapter adapter = new OleDbDataAdapter(sSql, conn); adapter.Fill(dtExcel); conn.Close(); } return dtExcel; }