怎么实现从excel表数据导入到sql server数据库中

时间:2022-05-01 06:37:12
C;\11.xls是一个excel表里面内容
Type_Name \ Type_Order \Type_Check
武术 \ 0 \ 1

sql server2000 里面有个数据库shop,其中有一个表Goods_Type有字段
Type_Id /Type_Name /Type_text /Type_Order /Type_Check /Type_time
其中 Type_Id是可以自增的int型,Type_Time是自动取插入时间的getdate()
我想做一个Web窗体,然后用一个button实现导入功能,
我用了一个button控件,然后在事件里面插入我写的代码:
private void Button6_Click(object sender, System.EventArgs e)
{
int InsertOk = Base.Insert();
if ( InsertOk ==1)
{

JScript.Alert("成功,欢迎使用!");

}
else
{
JScript.Alert("失败,请稍后再来!");
return;
}
}
Base.Insert();
在一个Base.cs文件里面
public int Insert()
{
int flag = 0;
cmd.CommandText = string.Format ("SELECT * into Goods_Type from OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source=C:\\11.xls;Extended Properties=Excel 8.0')...Goods_Type$)");
try
{
conn.Open();
cmd.ExecuteNonQuery();
flag = 1;
}
catch (Exception ex)
{
//throw (ex);
}
finally
{
cmd.Dispose();
conn.Close();
}

return flag;
}

如果throw(ex)不注释的话,运行的时候会提示这里throw(ex)附近有语法错误
我把这里注释掉以后就会弹出来
失败,请稍后再来的窗口

protected DataTable GetDataTableFromExcel(string FileName)
{
//创建连接字符串
String strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + Server.MapPath(FileName) + ";" +
"Extended Properties=Excel 8.0;";
OleDbConnection objConn = new OleDbConnection(strConn);
OleDbCommand objCmd = new OleDbCommand("SELECT * FROM [Sheet1$]", objConn);
OleDbDataAdapter objDA = new OleDbDataAdapter(objCmd);
DataTable objDt = new DataTable();
objDA.Fill(objDt);
return objDt;
}