近来接手的项目,有几个很值得分享的东西。经过自己的不懈实践,总结,分享给大家,希望能对大家的学习有点帮助。

本次探讨的是mvc框架之中的一种导出方法,导出excel。

先让大家看一下啊我们的view界面:

我们的view代码:

<body><div style="margin-top:30px;margin-left:20px;"><div class="easyui-panel" title="查询" style="width:1240px;"><div  style="margin:10px 20px;float:left">@*加载搜索框*@请输入要查询的内容:<input class="easyui-textbox" id="txtSearch" name="txtSearch" οnkeydοwn="Enter();" maxlength="20" style="width:150px;"><a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-search',plain:true" οnclick="stuSearch()" >查询</a><a  id="download" @*href="/FreshStudent/ExportExcel"*@ class="easyui-linkbutton"  style="margin-left :720px";data-options="iconCls:'',plain:true" οnclick="Export()">导出Excel</a>               </div></div></div><div id="ContentAreas" style="margin-top: 15px; margin-left: 20px; width: 960px;"><table id="dt" class="easyui-datagrid" title="学生报表" style="width: 1240px; height: auto"data-options="url:'/FreshStudent/SelectStu',singleSelect:true,pagination:true"><thead><tr><th data-options="field:'StudentCode',width:150,align:'center',sortable:true" >学号</th><th data-options="field:'Name',width:120,align:'center'">姓名</th><th data-options="field:'strSex',width:120,align:'center'">性别</th><th data-options="field:'Score',width:120,align:'center'">分数</th><th data-options="field:'Level',width:120,align:'center'">学历</th><th data-options="field:'FreshMajorName',width:150,align:'center'">专业名称</th><th data-options="field:'FreshDepartmentName',width:150,align:'center'">学院名称</th><th data-options="field:'TelNum',width:150,align:'center'">联系方式</th><th data-options="field:'strCheckIn',width:120,align:'center'">是否报道</th></tr></thead></table></div></body>


controller代码分享:


<span style="font-size:18px;">#region 导出数据Excel  --李卫中--2016年1月5日21:00:10/// <summary>/// 导出数据/// </summary>/// <param name="strlike"></param>/// <returns></returns>public ActionResult ExportExcel(string strlike) {//获取前台界面容量int pageSize = Request["rows"] == null ? 10 : int.Parse(Request["rows"]);//获取前台界面当前页int pageIndex = Request["page"] == null ? 1 : int.Parse(Request["page"]);//定义总数,接收后台记录数目int total;List<FreshStudentViewModel> stuList = new List<FreshStudentViewModel>();//执行模糊查询if (strlike == "" || strlike == null){stuList = stuService.ExportAllStu();}else { stuList = stuService.ExportStu(strlike); }  //给Excel导出里面添加表头Hashtable headnames = new Hashtable();headnames.Add("Score", "分数");headnames.Add("Level", "学历");headnames.Add("FreshMajorName", "专业名称");headnames.Add("StudentCode", "学号");headnames.Add("Name", "姓名");headnames.Add("strSex", "性别");headnames.Add("FreshDepartmentName", "学院名称");headnames.Add("TelNum", "联系方式");headnames.Add("strCheckIn", "是否报道");//导出新生报表信息return File(ExportManager.ExportExcel(stuList, headnames), "application/vnd.ms-excel", "新生报表.xls");}#endregion</span>

Js方法分享:

<span style="font-size:18px;">function Export() {var strlike = $("#txtSearch").val();window.location.href = "/FreshStudent/ExportExcel?strlike=" + strlike;}</span>

然后,我们的后台方法就不再累述了,就是从数据库中查询得到的数据集合,返回之后有我们的controller来接收。

效果展示:


遗留问题:导出的数据表头顺序发生错乱,请关注本篇博客后续解决方案!

小结:

这个方法其实是很简单的,但是其中有一个地方难住了我大约有一个小时,就是通过点击我们用controller来获取id="txtSearch"的值,这个在很多人开来很简单,其实对我来说也是很简单,等我写出这个方法后发现,总结。自己动手的机会还是太少了,以至于有些地方想不到,我们有句话叫“不怕不知道,就怕不知道”,我们不是不会,是总也想不到。这比我们想到了不会要严重得多。所以我们要把握好每一次我们遇到困难的机会,每一个机会都会带给我们一点收获,一些改变。

加油!  少(sao)年(nian)!

转载于:https://www.cnblogs.com/DoubleEggs/p/5747167.html

【项目总结】之——导出Excel相关推荐

  1. Java web项目利用POI导出EXCEL表格

    SSH2 POI导出EXCEL表格 1.首先导入poi的jar包 HSSFWorkbook :工作簿,代表一个excel的整个文档 HSSFSheet:工作表 HSSFRow :行 HSSFCell: ...

  2. VUE项目实现表格导出EXCEL表格(自定义样式及多级表头)

    第一:安装依赖 npm install -S file-saver xlsx npm install -D script-loader npm install -D xlsx-style (自定义样式 ...

  3. Myxls导出excel报表

    最近项目中有一个导出excel报表的需求.大体就是将一个datatable中的数据导出到excel供用户下载.开始也想过几种方法: 1.因为报表已经在页面上展现出来了,所以想能不能使用js直接将页面的 ...

  4. easypoi导出EXCEL表格,WPS能打开,OFFICE打不开问题

    根据项目需求,需要导出excel表格,选择使用easypoi插件,可是导出的表格,选择wps能打开,office打开报错.于是就被测试提了一个问题单,(呜呜呜...)现在把解决方案分享下. 引入相关依 ...

  5. 利用freemarker导出Excel(格式自定义)

    1. 使用背景:公司项目中需要导出Excel,使用了freemarker模板. 2. 操作步骤: (1)首先自己新建一个Excel表格,在里面写好自己的格式(最好同时写好一行假数据), (2)然后另存 ...

  6. 导出excel时报错

    项目场景:导出excel时报错[main] DEBUG com.alibaba.excel.context.WriteContextImpl - Finished write. 今天在使用EasyEx ...

  7. mykit-excel之——这是我用过的最好用的导出Excel的工具类

    mykit-excel的github链接地址为:https://github.com/sunshinelyz/mykit-excel  欢迎各位Star和Fork源码,也欢迎大家pr你牛逼哄哄的代码. ...

  8. 使用jxls分页导出excel

    项目有一个导出excel的功能使用的是2003版的,那2003版的excel单个sheet最多只能导出65535条数据,现在项目有一个导出的功能数据会超过65535条.所以需要导出到多个sheet里面 ...

  9. 解决poi导出Excel文件打开警告(一)

    项目中需要导出Excel报表,使用poi导出Excel文件,添加依赖 <dependency><groupId>org.apache.poi</groupId>&l ...

  10. NPOI导入导出EXCEL通用类,可直接使用在WinForm项目中

    由于XSSFWorkbook类型的Write方法限制,Write完成后就自动关闭流数据,所以无法很好的支持的Web模式,网上目前也未找到好的解决方案. 注意:若直接使用在WinForm项目中,必需先下 ...

最新文章

  1. 卷积神经网络基础:(8)递归神经网络RNN
  2. 探索 Swift 中的 MVC-N 模式
  3. LINUX DNS服务的配置(一)
  4. 西南石油大学计算机科学院信息,梁宗文 - 西南石油大学 - 计算机科学学院
  5. 解决sqlserver1433端口占用问题
  6. docker镜像启动后端口号是多少_14,Docker容器必知必会,你会了吗?
  7. 一行代码太长的解决方法
  8. 谷歌浏览器——请停用以开发者模式运行的扩展程序
  9. linux把root用户删了,linux root用户没法删除文件
  10. JAVA学习笔记——JAVA基础语法(二)
  11. Centos修改默认网卡名
  12. java实现文件对比
  13. Vue之功能全面的表格(二)创建表格
  14. EXCEL数据行数达上线,读取发生错误
  15. AutoSAR系列讲解(深入篇)14.2-Mcal Port配置
  16. win10+Ubuntu18.04.2双系统双硬盘安装及分区
  17. debian10 buster 在thinkpad T470P 上安装指纹驱动 138a:0097 Validity Sensors
  18. Mac上iPad Pro高清桌面动态壁纸
  19. Word2010去除页眉上的横线
  20. 按键android手机排行榜,【直板全键盘手机推荐】直板键盘手机排行榜

热门文章

  1. 【资源】各种基础入门教程附下载地址
  2. 如何理解 Web API
  3. 类似于HttpModule的注入方式的事件机制示例
  4. jsp_servlet时序图
  5. nginx日志自动切割
  6. redis学习笔记-持久化
  7. Jquery 添听checkbox 是否选中
  8. Unity版本使用情况统计报告
  9. Windows安装TensorFlow
  10. atitit.微信项目开发效率慢的一些总结