Excel的导入

 年级: 2019级          姓名:梁峻豪        性别:男       
 本技术文献起止时间 2020 年  08 月 15 日 ~ 2020年 08 月 18 日

文献种类:所学知识文献;
开发工具与关键技术:VS - Excel 导入
作者: 梁峻豪 ;年级:1902 ;撰写时间:2020 年 08 月 16日

我们日常的开发常常会涉及很多数据表格,表格的数据或多或少,少量的数据添加只需数据库手动添加就行,那几百条几千条数据的话是否又能如此,答案是否定的,至此就需要VS的Excel数据导入技术了,下面我们来讲述一下.
导入Excel:
1:下载模板(首先创建一个由我们开发人员制作的Excel(.xls)文件)
在这里插入图片描述

如果我们纯粹写一个下载的话,其实就是一个(下载的模板)只是下载一个文件,代码块用function直接写window.open.凡是下载相关的都是直接使用window.open去打开一个新标签页.这样才会告诉浏览器我是去下载东西,这是下载的主要操作方式
在这里插入图片描述

下面是控制器代码:

public ActionResult DownImportTemplate(){
string filePath = Server.MapPath("~/Document/学生导入模板.xls"); 
            if (System.IO.File.Exists(filePath)){ 
                string strfileName = Path.GetFileName(filePath);
                return File(new FileStream(filePath, FileMode.Open), "application/octet-stream", strfileName);
            }else{
return Content("模板文件不存在,请联系系统运维人员。");
            }
        }

首先:返回与 Web 服务器上的指定虚拟路径相对应的物理文件路径。其次判断模板文件是否存在.还有要获取文件的名称。

注意:参数:File(fileStream要发送到响应的流, contentType内容类型(MIME 类型),fileDownloadName浏览器中显示的文件下载对话框内要使用的文件名。)

最后:使用字符串创建一个内容结果对象。

2:用户根据模板填写数据
用户根据需要导入的数据填写到下载好的模板中且在页面选中此文件(.xls)
并提醒用户不要随意修改用户导入模板的基本格式

3:导入数据:用户上传数据-导入
视图(view)思路:
1.定义表单数据对象FormData
2.获取表单中的数据
3.向对象中添加要发送的数据
4.创建XMLHttpRequest对象
5.指定提交类型和选择要发送的地址 上传文件只能使用POST请求,不能用get请求

控制器(controller)思路:
1、获取上传的文件;
2、把文件转换为二进制数组;
3、二进制数组转成内存流;
4、利用NPOI把内存流中的数据读取成Excel
5、使用NPOI读取数据
在这里插入图片描述

PhysicalNumberOfRows: 获取的是物理行数,也就是不包括那些空行(隔行)的情况。
FirstCellNum:获取某行第一个单元格下标
LastCellNum:获取某行的列数 !!!!!
FirstRowNum:获取第一个实际行的下标
LastRowNum:获取最后一个实际行的下标
sheet.FirstRowNum: 第一行是说明;第二行是标题;第三行开始才是数据信息

猜你喜欢

转载自blog.csdn.net/Gksjn/article/details/108048127
今日推荐