ASP.NET MVC5 Excel导入总结

因为最近在做一个小项目,负责的是文件上传和Excel导入导出,在开发过程中也遇到挺多问题,主要是在修改的过程中,

总觉得自己的代码太复杂,不利于后期的维护和修改,所以一直想尽办法进行封装。最终代码还是相对简洁一点。

因为开发经验的不足,可能我最后说的相对简洁,就是你们一开始开发时的想法。但是学习过程就是这样吧。

 

描述一下项目的需求:

其实也比较简单,做的是类似信息管理系统,多个页面都需要有导入Excel数据的功能。

然后一开始是这样的思路:

ASP.NET MVC5 Excel导入总结_第1张图片

就这样,在每一个页面都写了上传文件的HTML代码,提交到相应的控制器,控制器做简单的处理后,转到逻辑层去执行导入Excel数据的代码。后来改代码,真的麻烦!!!

后面想到有部分视图这东西,一开始没有用是觉得每个文件上传都是上传到不同的地址,后来想想在每个页面用Ajax提交到不同的控制器就好了。

再后来又想,为什么要提交到不同的控制器?直接提交到一个控制器就行了,然后在这个控制器进行判断,执行不同的Excel导入类就行了。结果就写成这样:

ASP.NET MVC5 Excel导入总结_第2张图片

因为每张数据表都对应一个导入类,所以导入类没有办法写成一个

 

 部分视图的代码:

ASP.NET MVC5 Excel导入总结_第3张图片

主要是红色框的部分,每个页面都加载这个部分视图,这样在上传文件部分做修改的时候,就只要修改部分视图这里了。

ASP.NET MVC5 Excel导入总结_第4张图片

ASP.NET MVC5 Excel导入总结_第5张图片

其中一个页面的js代码:

ASP.NET MVC5 Excel导入总结_第6张图片

控制器代码:

ASP.NET MVC5 Excel导入总结_第7张图片

然后ExcelImport.DataSaveInDB();方法里面就是根据表名,去执行相应的Excel导入类

代码比以前少了很多,维护起来也方便很多。

你可能感兴趣的:(ASP.NET,MVC)