1、获得Excel数据集
//创建一个数据链接
string strCon = string.Format(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=""Excel 8.0;IMEX=1""", path); //如果不加上后面的“imex=1”就只能读取字符串的内容 无法读取其他如数字的内容
OleDbConnection myConn = new OleDbConnection(strCon);
myConn.Open();
DataTable dt = myConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
if (dt == null || dt.Rows.Count == 0)
{
return null;
}
string sheet_name = dt.Rows[tableIndex]["TABLE_NAME"].ToString();
string strCom = " SELECT * FROM [" + sheet_name + "] ";
//打开数据链接,得到一个数据集
OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
//创建一个 DataSet对象
DataSet myDataSet = new DataSet();
//得到自己的DataSet对象
myCommand.Fill(myDataSet, sheet_name);
2、执行数据库插入操作
DataTable dt = myDataSet.Table[0];
int count = 0;
StringBuilder strSql = new StringBuilder();
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow dr = dt.Rows[i];
if (dr[0].ToString().Trim().Length == 0)
{
continue;
}
strSql.Append(@"INSERT INTO 表
(列名)
VALUES
(");
strSql.AppendFormat("'{0}',", dr[6].ToString().Trim().Replace("'", "\""));
strSql.AppendFormat("'{0}',", dr[0].ToString().Trim().Replace("'", "\""));
strSql.AppendFormat("'{0}',", dr[1].ToString().Trim().Replace("'", "\""));
strSql.AppendFormat("'{0}',", dr[2].ToString().Trim().Replace("'", "\""));
strSql.AppendFormat("'{0}',", dr[3].ToString().Trim().Replace("'", "\""));
strSql.AppendFormat("'{0}',", dr[4].ToString().Trim().Replace("'", "\""));
strSql.AppendFormat("'{0}')", dr[5].ToString().Trim());
}
count = DBUtility.ExecuteSql(strSql.ToString());