Sampson-Li
Sampson.Li学习经验总结博客 学历代表过去,能力代表现在.学习力代表未来!
 1 视图里 和jquery结合做的   
2 <input id="FileUpload" type="file" name="upload" style="width: 250px; background: White" class="easyui-validatebox" validtype="length[1,100]" />
3
4 function OK() { //点击确定按钮的时候
5 var file = ($("#FileUpload").val());
6 if (file == "") {
7 $.messager.alert('系统提示', '请选择将要上传的文件!');
8 document.forms[0].submit();
9 }
10 else {
11 var stuff = file.match(/^(.*)(\.)(.{1,8})$/)[3];
12 if (stuff != 'xls') {
13 alert('文件类型不正确,请选择.xls文件!');
14 document.forms[0].submit();
15 }
16 else {
17 $.ajax({
18 type: "POST",
19 url: "/后台路径/调用方法名",
20 data: "file=" + file + "",
21 success: function (result) {
22 $.messager.alert('系统提示', result + "");
23 }
24 });
25 }
26 }
27
28 后台://要确定excel的格式动态也可以.视情况而定
29
30 public ActionResult UpLoad(string file)
31 {
32 string result = string.Empty;
33 string strConn;
34 strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + file + "; " + "Extended Properties=Excel 8.0;";
35 OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strConn);
36 DataSet myDataSet = new DataSet();
37 myCommand.Fill(myDataSet, "ExcelInfo");
38 System.Data.DataTable tab = myDataSet.Tables["ExcelInfo"].DefaultView.ToTable();
39 // ...用foreach把tab中数据添加到数据库 省略了如果是多表插入,可以调用存储过程.呵呵
40 result="导入成功!";
41 JsonResult json = new JsonResult();
42 json.Data = result;
43 return json;
44 }
posted on 2011-11-17 11:02  Sampson  阅读(12080)  评论(4编辑  收藏  举报