开发工具与关键技术:Visual Studio、MVC
作者:幻奏
撰写时间:2019.5.3

在平常的生活中,我们可能需要添加大量的数据,这时一条一条地新增肯定不能满足我们的要求了,所以我们就需要批量导入数据了。现在我就来大概说一下是怎么导入数据的。
我们要导入数据肯定要模板吧,因为不可能随便写下就可以导入数据的,肯定要合适的格式才可以,不然会出错的,所以第一件事就是要下载模板。
首先我们要在视图写打开一个下载的窗口,并在窗口装载了指定的路径。

控制器那里我们要获取模板的路径

然后我们要判断模板是否存在

存在了就获取文件的名称并且返回文件

下载模板就写好了,我们只需要按照模板的样式写数据就可以了。
当我们把模板写好后我们就要导入数据到数据库了,这时我们要先把导入的Excel表格的数据保存到session中。
1、 获取读取的文件
2、 把文件转换为二进制数组
3、 二进制数组转成内存流
4、 利用NPOI把内存流中的数据读取成Excel
在这里我们要引用NPOI,关于它的用法你们自己上网找,我就不多说了。
我们上传表格的数据肯定需要提交表单,表格的数据重载这些,我就不多说了,前面我已经说了很多次了。
控制器那边我们先把session中的ImportExcel移除避免残留以前数据。
Session.Remove(“ImportExcel”);
判断页面传过来的文件是否为Excel表格,根据它的后缀判断。

声明二进制数组存放文件再把将传入的文件转化为二进制的数组存入fileBytes中,将二进制的数组转化为内存流再把内存流转化为工作簿。

之后我们要判断工作簿中是否有工作表,没有就用ISheet创建

有工作表了之后我们再创建表头行,并添加数据。我们使用IRow创建行,用DataColumn创建单元格。

然后再为Excel表格添加内容,我们使用for循环的方式把数据一条一条的添加到里面去。

接下来我们要提取Session中的数据、并进行分页操作,这个我前面也说过了,就不再重复了,你们自己去看一下吧。保存数据到数据库和新增差不多,我也说过了,一样也是要判断是否有重复的数据,重复了就不添加到数据库里面去。导入数据大概就是这个样子了,可能我说的有点简单,要是有什么地方漏了请你们帮忙指出来啊(ૢ˃ꌂ˂⁎)

如何导入数据模板到MVC相关推荐

  1. 使用教程--通过Excel模板导入数据到表单

    大家好,增加Excel导入数据功能在挺早之前就列在我的开发计划中了.由于各种事耽搁,导致才上线这个功能.废话不多说了.直接讲讲,在Z平台中是怎样用Excel导入数据的. 我以两个例子来为大家讲解使用方 ...

  2. struts2导入excel模板_「微干货」“人员其他数据导入”应用介绍

    前提概要 人员档案资料维护多种多样,经常碰到已经运行一段时间,并且人员档案的基本信息已维护好了:此时,又要补充诸如"教育经历"类似的多行数据,脑壳疼,如何录入可以简便,让我们一起来 ...

  3. python excel模板 生成excel表格_python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图...

    python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图 #coding=utf-8 from openpyxl importload_workbookfro ...

  4. easypoi实现导出数据、下载导入模板、导入数据

    一.导出数据 public void exportTableInfo(HttpServletResponse response, String tableName) throws Exception{ ...

  5. Java导出Excel模板,导出数据到指定模板,通过模板导入数据(一)

    本文章主要是介绍阿里巴巴的easyexcel的使用 1. 首先需要我们导入easyexcel的依赖包 <!-- alibaba/easyexcel 使用高版本,低版本string接收数字丢小数位 ...

  6. VUE+ElementUI生成Excel模板 导入数据生成表格(自适应)

    VUE+ElementUI生成Excel模板 导入数据生成表格(自适应) 最近项目需求,需要根据条件查询对应数据的参数(每条数据的参数名称和个数都不一样) ,生成Excel表格模板,再通过Excel模 ...

  7. java通过Excel表导入数据和下载模板

    第一:导入数据 1:在get()上加上@ExcelField注解 @ExcelField(title = "工会类型", sort = 10),根据sort大小,将excel的数据 ...

  8. EXCEL批量导入数据MVC

    这里简单实现EXCEL的批量导入 直接看代码,里面有注释 前端页面实现 @{ ViewBag.Title = "批量添加数据"; //Layout = null; } href=& ...

  9. Spring Boot 实现excel 批量导入数据(模板下载 ->数据导入->导入失败表格下载)

    批量导入数据以用户为例[不贴数据库操作代码,都是简单的插入和查询操作自己写] 1 导入依赖 2 批量导入模板下载 3 批量导入数据 准备工作 实现代码 测试接口 4 下载导入失败表格 5 实体类 6 ...

最新文章

  1. 手把手教你分析MySQL死锁问题,十分钟看完文章下次轻松完成不加班
  2. Kali学习笔记21:缓冲区溢出实验(漏洞发现)
  3. golang中的sync.WaitGroup
  4. 《说服力——让你的PPT会说话》读书笔记02
  5. java ant与maven_如何在maven中使用ant
  6. js不用reverse反转数组代码_JavaScript 数组排序
  7. 史上最详细Vue-CLI脚手架快速创建Vue项目教程
  8. phpstrom+xdebug调试远程服务器代码
  9. Linux学习笔记08—如何关闭防火墙
  10. 让刺猬和狐狸结婚:资本巨鳄BlackRock的金融科技野心
  11. 医学图像之DICOM格式解析
  12. 计算机毕业设计Java宠物医院后台管理系统设计与实现(源码+系统+mysql数据库+lw文档)
  13. Micropython加速物联网开发4 - SPI驱动5110LCD屏
  14. 创建一个 C++ 控制台应用程序项目
  15. Multisim彻底卸载干净方法
  16. html消息对话框,添加消息对话框 (HTML)
  17. 面对众多的选择,我选择什么
  18. 紫光联合大基金等成立长江存储 注资189亿元
  19. 存储过程中的关键字--AS、GO的含义
  20. 关于使用ComponentName连接俩个Activity运行闪退的问题

热门文章

  1. AGC026E - Synchronized Subsequence
  2. P1064 [NOIP2006 提高组] 金明的预算方案
  3. 【每日一题】5月7日题目精讲 「火」皇家烈焰
  4. 牛客2020年愚人节比赛
  5. 铺地毯(矩形的交+前后缀矩形交)
  6. 【正睿2021寒假省选第二轮集训 day 1】串 (后缀自动机+记忆化)
  7. [2020-11-30 contest]数列(矩阵加速),秘密通道(dijkstra最短路)小X游世界树(换根dp),划分(数学)
  8. [高斯消元及理论]线性方程组整数/浮点数,模线性方程组,异或方程组模板
  9. 51nod1601-完全图的最小生成树计数【Trie,分治】
  10. jzoj1764-游戏【dp,dfs】