MVC3学习:将excel文件导入到sql server数据库

摘要:
想法:1.将excel文件导入服务器。本例中使用的表是友情链接表F_ link使用的Excel文件:准备工作完成后,直接转到主题:1。使用{@Html.ValidationSummary查看<scriptsrc=“@Url.Content”type=“text/javascript”˃@<inputtype=“file”name=“file”value=“Select a file”/˃}2 Controller publicActionResultUploadFile(){//设置上传目录stringpath=Server.MapPath;if(!directory.Exists)目录创建目录//判断上传文件HttpPostedFileBasefile=Request。文件[“file”];如果(文件!

思路:

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

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

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

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

MVC3学习:将excel文件导入到sql server数据库第1张

使用的excel文件:

MVC3学习:将excel文件导入到sql server数据库第2张

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

一、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();
            }
        }

三、结果

MVC3学习:将excel文件导入到sql server数据库第3张

免责声明:文章转载自《MVC3学习:将excel文件导入到sql server数据库》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Ubuntu18.04安装Dockerlinux 操作 mysql 指定端口登录 以及启动 停止下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C#连接Oracle数据库

实现效果: 处理思路: 使用Oracle.ManagedDataAccess连接Oracle数据库 数据库连接串写在App.config中,用DES算法加密 加解密辅助类: 先用加密方法将数据库连接串进行加密,然后添加到配置文件中,读取配置文件中的连接串后再用解密方法解密。 程序源码: https://gitee.com/soulsjie/CS...

java poi 操作Excel常用方法总结

原文地址:http://lilinhui.iteye.com/blog/1163040 官网地址:http://poi.apache.org/spreadsheet/quick-guide.html 一、 POI简介             Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft O...

关于WinForm中的DataGridView控件显示数据字典的解决方案。

做这部分功能的时候,上网搜索了很多资料,发现很少涉及到这方面的解决方案,找了相关的问题帖子,很多人都叫使用视图去处理,当然,用视图是可以解决这个问题,但是,这么多个表,都用视图去搞,那还得做这么多个视图...........这肯定不科学了。还有如果用视图去做,那么数据实体就与实际的表不一致了,所以,我们需要找到一个解决DataGridView的某个列需要按...

2020年值得关注的软件测试趋势

软件测试行业继续发展。我们已经看到了发展趋势的延续和2019年新趋势的出现。2020年,自动化专家团队对软件测试行业的最新趋势做出了一些预测。 测试中的人工智能和机器学习 根据各种报告研究,智能自动化将在2020年继续成为软件测试风口。 人工智能和机器学习AI/ML的应用已用于软件测试自动化中。人工智能使测试变得更加智能。团队可以利用AI/ML来优化其自动...

Android Learning:数据存储方案归纳与总结

前言 最近在学习《第一行android代码》和《疯狂android讲义》,我的感触是Android应用的本质其实就是数据的处理,包括数据的接收,存储,处理以及显示,我想针对这几环分别写一篇博客,记得我的学习心得,也希望跟各位新手同学相互努力促进。今天这篇博客,我想介绍一下数据的存储,因为数据的接收,存储,处理以及显示这几环环环相扣,而数据的存储直接关系到...

由DataSet导出生成excel的几种方法

1、当dataset中包含了html等特殊字符用这个处理 public void CreateExcel2(DataSet ds) { //创建一个excel application Excel.Application xls_exp=null; int rowindex=1; int colindex=0; //创建一个workbook,一个works...