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;

}