[HttpPost]
public void Import()
{
//获取文件 HttpPostedFileBase fileBase = Request.Files["file"]; if(fileBase==null)
{
  Response.Write("");
}
//转数据流
Stream stream = fileBase.InputStream;
IWorkbook workbook = null; if (Path.GetExtension(fileBase.FileName).ToLower().Equals(".xls"))
{
  workbook = new HSSFWorkbook(stream);
}
//获取sheet
ISheet sheet = workbook.GetSheetAt();
//获取头
IRow row = sheet.GetRow();
//定义datatable
DataTable dt = new DataTable();
foreach (ICell item in row.Cells)
{
//循环添加表头
  dt.Columns.Add(item.StringCellValue);
}
for (int i = ; i <= sheet.LastRowNum; i++)
{
  DataRow dr = dt.NewRow();
  for (int j = ; j < sheet.GetRow(i).Cells.Count; j++)
{ CellType cellType = sheet.GetRow(i).Cells[j].CellType;
int index = sheet.GetRow(i).Cells[j].ColumnIndex;
switch (cellType)
{
  case CellType.Numeric:dr[index]=sheet.GetRow(i).Cells[j].NumericCellValue;
  break;
  case CellType.String:
  dr[index] = sheet.GetRow(i).Cells[j].StringCellValue;
  break;
  case CellType.Boolean:
  dr[index] = sheet.GetRow(i).Cells[j].BooleanCellValue;
  break;
  }
}
  dt.Rows.Add(dr);
} //sql拼接
try
{
dt.Columns.RemoveAt();
foreach (DataRow item in dt.Rows)
{
  string sql = $"inserrt into mess values(";
  foreach (object it in item.ItemArray)
  {
  sql += $"'{it}',";
  }
  sql = sql.TrimEnd(',');
  sql += ")";
  DB.ExecuteNonQuery(sql);
  }
}
catch (Exception)
{ throw;
}
}

//前台

<form action="/Default/Import" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file">
<input type="submit" name="name" class="btn btn-success btn-sm" value="导入">
</form>

Mvc导入的更多相关文章

  1. .Net MVC 导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) 通过MVC控制器导出导入Excel文件(可用于java SSH架构)

    .Net MVC  导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) [原文地址] 通过MVC控制器导出导入Excel文件(可用于java SSH架构)   public cl ...

  2. ASP.NET MVC导入excel到数据库

    MVC导入excel和webform其实没多大区别,以下为代码: 视图StationImport.cshtml的代码: @{ ViewBag.Title = "StationImport&q ...

  3. MVC导入命名空间

    为什么要导入 一次性导入,避免每个页面都要导入,代码看起来更为清晰,不再带一个长长的命名空间,视图里面可以直接写类名了. 导入方法 在Views文件夹的web.config的namespaces里面配 ...

  4. mvc 导入,导出excel

    最近主要做导入excel 在网上查询了代码 public FileResult DownLoadExcelJiZuChaXunGenRenXiaoFeiJiLu() { DataTable dt = ...

  5. mvc 导入excel表格

    <script> $(function () { $("#Attachment").change(function () { var att = $("#At ...

  6. Mvc导入导出Excel

    @{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layout.cshtml"; } <h2&g ...

  7. 用MVC导入导出

    导入导出对于刚做的人一脸懵逼,但是明白思路之后就感觉非常容易,我也是研究了好久,才总算做了出来,放在这里给大家分享一下 一.先看下导出 视图脚本 <script type ="text ...

  8. ASP.NET MVC 导入Excel文件

    一:view部分 <form method="post" enctype="multipart/form-data" action="/Posi ...

  9. ASP.NET MVC 导入Excel文件(完整版)

    View视图部分: <form method="post" enctype="multipart/form-data" action="/Pos ...

随机推荐

  1. 从UI设计转向前端的艰辛过程,从背单词开始。。。

    很纠结到底是继续做UI设计还是转行前端呢?从刚开始的害怕代码到接触代码又喜欢代码的过程,我在想我是不是太飘了,我感觉我做事就是三分钟热度.我感觉学前端对我最大的阻碍就是英语单词了,10个单词里面最起码 ...

  2. vscode从听说到使用,vetur,prettier,htmljscssPrettify踩坑指南。

    今天基于vue-cli(2.9.3)构建一个新的项目.我用的sublime,es6的代码格式要与公司格式兼容.采用了vue-cli自带的eslint后,有一些不统一的部分需要修改.先看看sublime ...

  3. Apache ServiceComb 开源两周年,聊聊其与微服务的前世今生

    欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...

  4. flutter最简单轻量便捷的路由管理方案NavRouter

    大家好,我是CrazyQ1,今天给大家推荐一个路由管理方案,用的非常不错的,叫nav_router. 项目地址是:https://github.com/fluttercandies/nav_route ...

  5. 大数据之Linux基础

    回顾这一个多月以来闭关学大数据的一些相关重要知识,就当复习,顺便以备以后查看 Linux学习第一步自然是安装Linux. 关于Linux 首先介绍下Linux,Linux系统很多程序员开发者其实都耳熟 ...

  6. ASE19团队项目beta阶段Backend组 scrum6 记录

    本次会议于12月12日,19:30在微软北京西二号楼sky garden召开,持续10分钟. 与会人员:Zhikai Chen, Lihao Ran, Xin Kang 请假人员:Hao Wang 每 ...

  7. 移动开发在路上-- IOS移动开发系列 多线程三

    这一次说一点概念性的东西,也是为后边做一些基础 HTTP协议的基本概念 http协议的基本概念 全称“超文本传输协议”,浏览器和服务器之间的通信规则 HTTp协议永远都是客户端发起的请求,服务器回送响 ...

  8. 使用 Ocelot 匹配路由的方法匹配路由

    使用 Ocelot 匹配路由的方法匹配路由 Intro 之前我们在 Ocelot 网关的基础上自定义了一个认证授权的 Ocelot 中间件,根据请求的路径和 Method 进行匹配,找到对应的权限配置 ...

  9. Everspin非易失性MRAM切换技术

    切换MRAM技术 切换MRAM使用1个晶体管,1个MTJ单元来提供简单的高密度存储器.Everspin使用获得专利的Toggle电池设计,可提供高可靠性.数据在温度下20年始终是非易失性的. 在读取期 ...

  10. web开发中浏览器跨域问题

    <system.webServer> <httpProtocol> <customHeaders> <add name="Access-Contro ...