可不可一帮我把下面的代码转成mvc模式(愿意在线等到三点)
这是一个实现把excel数据导入到数据库的代码,对mvc不是很熟悉,也是一个菜鸟请求您的帮助
public partial class TEST_Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
//获取文件路径
string filePath = this.FileUpload1.PostedFile.FileName;
if (filePath != "")
{
if (filePath.Contains("xls"))//判断文件是否存在
{
InputExcel(filePath);
}
else
{
Response.Write("请检查您选择的文件是否为Excel文件!谢谢!");
}
}
else
{
Response.Write("请先选择导入文件后,再执行导入!谢谢!");
}
}
private void InputExcel(string pPath)
{
string conn = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =" + pPath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
OleDbConnection oleCon = new OleDbConnection(conn);
oleCon.Open();
string Sql = "select * from [Sheet1$]";
OleDbDataAdapter mycommand = new OleDbDataAdapter(Sql, oleCon);
DataSet ds = new DataSet();
mycommand.Fill(ds, "[Sheet1$]");
oleCon.Close();
int count = ds.Tables["[Sheet1$]"].Rows.Count;
for (int i = 0; i < count; i++)
{
string tRealName, tSex, tInClass, tQuestion, tAnswer;
tRealName = ds.Tables["[Sheet1$]"].Rows[i]["姓名"].ToString().Trim();
tSex = ds.Tables["[Sheet1$]"].Rows[i]["性别"].ToString().Trim();
tInClass = ds.Tables["[Sheet1$]"].Rows[i]["班级"].ToString().Trim();
tQuestion = ds.Tables["[Sheet1$]"].Rows[i]["学号"].ToString().Trim();
tAnswer = ds.Tables["[Sheet1$]"].Rows[i]["初始密码"].ToString().Trim();
string excelsql = "insert into tb_Users(RealName, Sex, InClass,Question,Answer) values ('" + tRealName + "','" + tSex + "','" + tInClass + "','" + tQuestion + "','" + tAnswer + "')";
try
{
//导入到SQL Server中
DM dm = new DM();
dm.execsql(excelsql);
Response.Write("<script language='javascript'>Alert('数据导入成功!');window.location='Default.aspx'</script>");
}
catch(Exception)
{
Response.Write("<script language='javascript'>Alert('数据导入失败!');window.location='Default.aspx'</script>");
}
}
}
}
}
}
以下是关于网页的,想把他转成试图,并通过后台上面的类实现相应的操作。
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="TEST_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
</div>
</form>
</body>
</html>
我的q是1216018602@qq.com也可以发到我q上来,谢谢
------解决方案--------------------
InputExcel这个函数可以直接拿来用。
你只要写一个上传的代码就可以了,自己Google下MVC上传文件,有很多例子。
[解决办法]
他提示有错误啊,不是要在control类中创建视图引擎吗,这样把这两种类型练习起来,1216018602q聊方便一点啊
[解决办法]
你需要两个控制器,一个接受get动作,用来加载一个允许用户上传文件的页面。
另一个接受post动作,用来保存上传的文件,并且调用InputExcel。
[解决办法]