zoukankan      html  css  js  c++  java
  • MVC3学习:将excel文件导入到sql server数据库

    思路:

    1、将excel文件导入到服务器中。

    2、读取excel文件,转换成dataset.

    3、循环将dataset数据插入到数据库中。

    本例子使用的表格为一个友情链接表F_Link(LinkId,LinkName,LinkUrl)

    使用的excel文件:

    准备工作做好后,就直接进入主题:

    一、view视图(视图名称为UploadFile,控制器为home)

    <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
    @using (Html.BeginForm("UploadFile", "home", FormMethod.Post, new { enctype = "multipart/form-data" }))
    {
        @Html.ValidationSummary(true)
         <input type="file" name="file" value="选择文件" />
         <input type="submit" id="submit" value="导入" />
    }

    二、控制器

    public ActionResult UploadFile()
            {
                //设置上传目录
                string path = Server.MapPath("~/Content/upload/");
                if (!Directory.Exists(path))
                    Directory.CreateDirectory(path);
                //判断是否已经选择上传文件
                HttpPostedFileBase file = Request.Files["file"];
                if (file != null && file.ContentLength > 0)
                {
                    string filenName = file.FileName;
                    string fileExt = Path.GetExtension(filenName).ToLower().Substring(1);
                    if (fileExt != "xls" && fileExt != "xlsx")
                    {
                        ModelState.AddModelError("", "您选择的不是Excel文件");
                        return View();
                    }
                    else
                    {
                        //上传文件
                        string filepath = path + filenName;
                        file.SaveAs(filepath);
                        //读取excel文件,转换成dataset
                        string strConn;
                        strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties=Excel 8.0;";
                        OleDbConnection conn = new OleDbConnection(strConn);
                        OleDbDataAdapter oada = new OleDbDataAdapter("select * from [Sheet1$]", strConn);
                        DataSet ds = new DataSet();
                        oada.Fill(ds);
                        //循环读取每一行,将数据插入到sql server数据库
                        foreach(DataRow row in ds.Tables[0].Rows)
                        {
                            F_link fl=new F_link();
                            fl.LinkName=row[0].ToString();
                            fl.LinkUrl=row[1].ToString();
                            db.F_link.AddObject(fl);
                            db.SaveChanges();
                        }
                        return RedirectToAction("index");
                    }
                }
                else
                {
                    ModelState.AddModelError("", "请选择文件");
                    return View();
                }
            }

    三、结果

  • 相关阅读:
    oracle修改登录认证方式
    oracle设定用户密码使用时间
    oracle口令管理之允许某个用户最多尝试三次登录
    信息系统项目管理师考试大纲(组织整理)
    信息系统项目管理师考试大纲知识点汇总
    项目经理、系统架构师或技术骨干应该具备的知识
    【数据挖掘】数据挖掘工程师是做什么的?
    Java学习
    shuffle的过程分析
    Hadoop 原理总结
  • 原文地址:https://www.cnblogs.com/denny402/p/3226912.html
Copyright © 2011-2022 走看看