一个比较简单的方法,把EXCEL导入到DataTable,剩下来的事就好做了。
public static DataTable ImportExcel(string filePathName,string tableName)
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Server.MapPath(filePathName) + ";Extended Properties=Excel 8.0";
//链接Excel
OleDbConnection cnnxls = new OleDbConnection(strConn);
//读取Excel里面有 表Sheet1
//string abc = filePathName.Substring(filePathName.LastIndexOf("/") + 1);
OleDbDataAdapter oda = new OleDbDataAdapter("select * from [" + tableName + "$]", cnnxls);
DataSet ds = new DataSet();
//将Excel里面有表内容装载到内存表中!
oda.Fill(ds);
return ds.Tables[0];
}
用oledb连接excel ,然后选出记录插入 数据库。
建议先用Oledb读取到DataTable中,然后再导入。
这样控制起来比较灵活
public static DataTable ReadExcel(string Path)
{
DataSet ds = new DataSet();
OleDbCommand oleCommand = new OleDbCommand("SELECT * FROM [Sheet1$]", new OleDbConnection(EXCELConnString + Path));
OleDbDataAdapter oleAdapter = new OleDbDataAdapter(oleCommand);
oleAdapter.Fill(ds, "[Sheet1$]");
// 数据绑定
return ds.Tables[0];
}
读取excel表中sheet1表
OLEDB