Spring Boot学生信息管理系统项目实战-4.学生管理
1.获取源码
源码是捐赠方式获取,详细请QQ联系我 :)
2.实现效果
2.1 导出导入模板

2.2 导入学生数据

3.项目源码
只挑重点讲,详细请看源码。
学生管理包含了学生信息的增删改查,这里我只讲最重要的根据模板导入和导出。
- 前端代码
<div>
<div class="search-div">
<div class="">
<div class="layui-inline">
<label class="search-label">学号:</label>
<div class="layui-input-inline">
<input class="layui-input search-input" id="sno" name="sno" autocomplete="off">
</div>
</div>
<div class="layui-inline">
<label class="search-label">姓名:</label>
<div class="layui-input-inline">
<input class="layui-input search-input" id="sname" name="sname" autocomplete="off">
</div>
</div>
<div class="layui-inline">
<label class="search-label">班级:</label>
<div class="layui-input-inline">
<input class="layui-input search-input" id="className" name="className" autocomplete="off">
</div>
</div>
<button class="layui-btn layui-btn-sm" data-type="reload" id="search">搜索</button>
</div>
</div>
<table id="tb-student" lay-filter="tb-student"></table>
</div>
case 'exportAll':
// 导出文件
document.getElementById('exportForm').reset();
$("#exportForm").attr("action",ctx+'api/student/export');//改变表单的提交地址为下载的地址
$("#exportForm").attr("method","post");
$("#ids").val("");
$("#contentType").val('学生信息');
$("#exportForm").submit();//提交表单
break;
case 'export':
if (checkData.length == 0) {
layer.alert('请选择要导出的行');
} else {
for (var i = 0; i < checkData.length; i++) {
ids.push(checkData[i].id);
}
// 导出文件
document.getElementById('exportForm').reset();
$("#exportForm").attr("action",ctx+'api/student/export');//改变表单的提交地址为下载的地址
$("#exportForm").attr("method","post");
$("#ids").val(JSON.stringify(ids));
$("#contentType").val('学生信息');
$("#exportForm").submit();//提交表单
$("#ids").val("");
}
break;
case 'exportTemplate':
// 导出文件
document.getElementById('exportForm').reset();
$("#exportForm").attr("action",ctx+'api/student/exportTemplate');//改变表单的提交地址为下载的地址
$("#exportForm").attr("method","post");
$("#contentType").val('学生信息');
$("#exportForm").submit();//提交表单
break;
function renderUploadExcel(){
upload.render({
elem: '#uploadExcel' //绑定元素
,url: 'api/student/upload' //上传接口
,accept: 'file' //普通文件
,acceptMime:'application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
,exts: 'xls|xlsx' //只允许上传xls文件
,before:function (obj) {
layer.load(); //上传处理loading
}
,done: function(res){
// 上传完毕回调
layer.closeAll('loading'); //关闭loading
if(res.code==200){
userTable.reload();
layer.msg("导入成功!");
}else {
layer.msg(res.message);
}
}
,error: function(){
//请求异常回调
layer.closeAll('loading'); //关闭loading
layer.msg("导入失败!");
}
});
}
- 后端代码
/**
* 导出
* @param response
* @throws Exception
*/
@PostMapping("/export")
public void export(String contentType, String ids, HttpServletResponse response) throws Exception{
// 创建模板
HSSFWorkbook workbook = templateUtil.createWorkBook(contentType);
HSSFSheet sheet = workbook.getSheetAt(0);
JSONArray array = JSON.parseArray(ids);
Long[] ids1 = null;
// 转换ids
if(array!=null && array.size()>0){
ids1 = new Long[array.size()];
for (int i = 0; i < array.size(); i++) {
ids1[i] = array.getLong(i);
}
}
// 获取数据集合
List<Student> list = studentService.getByIds(ids1);
// 在表中存放查询到的数据放入对应的列
Student entity=null;
HSSFRow row;
for (int i = 0; i < list.size(); i++) {
entity = list.get(i);
row = sheet.createRow(i+1);
// 填充一行
templateUtil.fillStudentColValues(row,entity);
}
String fileName = contentType.replace("模板","")+".xls";
templateUtil.writeFile(fileName, workbook, response);
}
/**
* 导出导入模板
* @param response
* @throws Exception
*/
@PostMapping("/exportTemplate")
public void exportTemplate(@RequestParam String contentType, HttpServletResponse response) throws Exception{
HSSFWorkbook workbook = templateUtil.createWorkBook(contentType);
String fileName = contentType.replace("模板","")+"模板.xls";
templateUtil.writeFile(fileName, workbook, response);
}
源码是捐赠方式获取,详细请QQ联系我 :)
Spring Boot学生信息管理系统项目实战-4.学生管理的更多相关文章
- 一步一步学Spring Boot 2 微服务项目实战 - 黄文毅-2018年8月第一次印刷
properties 配置文件的优先级高于.yml .在properties文件中配置了server.port=8080 同时在.yml中配置了server.port=8090 Spring Boo ...
- C语言学生信息管理系统项目源码
#include //包含printf().scanf().gets().puts().getchar()函数 #include //包含malloc()函数 #include //包含s ...
- 【Python毕业设计】基于Python+Flask+MySQL的学生信息管理系统(附完整源码)
1.项目说明基于python+Flask+mysql的学生信息管理系统项目实战 项目需要安装pycharm专业版,mysql数据库以及项目所需的所有模块创建数据库名称db_online_notes,然 ...
- 基于Spring MVC + Spring + MyBatis的【学生信息管理系统】
资源下载:https://download.csdn.net/download/weixin_44893902/45603211 练习点设计: 模糊查询.删除.新增 一.语言和环境 实现语言:JAVA ...
- [项目分享]JSP+Servlet+JDBC实现的学生信息管理系统
本文存在视频版本,请知悉 项目简介 项目来源于:https://gitee.com/liu_xu111/JavaWeb01 这次分享一个学生管理系统,我感觉这是程序员在大学时期的毕设和课程设计选择最多 ...
- Node.js小项目——学生信息管理系统
这是迄今为止第一次接触后端的东西,是一个很小的项目,但是对于前端学习入门很好.我是先学了VUE框架再学的Node,学起来比较轻松,不过每个人都有自己的学习方法️ 一.项目描述 学生信息管理系统,可以实 ...
- Spring Boot构建的Web项目如何在服务端校验表单输入
本文首发于个人网站:Spring Boot构建的Web项目如何在服务端校验表单输入 这个例子用于演示在Spring Boot应用中如何验证Web 应用的输入,我们将会建立一个简单的Spring MVC ...
- spring boot 和shiro的代码实战demo
spring boot和shiro的代码实战 首先说明一下,这里不是基础教程,需要有一定的shiro知识,随便百度一下,都能找到很多的博客叫你基础,所以这里我只给出代码. 官方文档:http://sh ...
- Python基础案例练习:制作学生信息管理系统
一.前言 学生信息管理系统,相信大家或多或少都有做过 最近看很多学生作业都是制作一个学生信息管理系统 于是,今天带大家做一个简单的学生信息管理系统 二.开发环境: 我用到的开发环境 Python 3. ...
- struts2学生信息管理系统篇章①
最近在看java1234分享的一个Struts2的学生信息管理系统的知识.因为本身java没什么底子.所以就没有什么好的技术去解决问题.一直在百度,不懂就百度.这样子下来其实也能学到一些东西,过阵子等 ...
随机推荐
- C++静态库与动态库执行过程深入
静态库与动态库 静态库 基本使用 静态库是将一组完整的功能,如一个提供了完整运算的计算器,进行封装为一个.a或.lib文件. 使用时仅需要在使用处include这个静态库的头文件.而后在编译时添加-L ...
- Pickle反序列化学习
什么是Pickle? 很简单,就是一个python的序列化模块,方便对象的传输与存储.但是pickle的灵活度很高,可以通过对opcode的编写来实现代码执行的效果,由此引发一系列的安全问题 Pick ...
- [转帖]加速拥抱支持开源生态 | OceanBase 开源版3.1.1正式发布
https://www.oceanbase.com/news/accelerated-embrace-and-support-of-open-source-ecosystem-oceanbase-op ...
- 【转帖】【奇淫技巧】Linux | 查找文件,无所遁形
theme: channing-cyan 本文正在参与 "走过Linux 三十年"话题征文活动 在Linux系统上,最常见的操作莫过于处理文本.常见文件操作陈列.查找.排序.格式转 ...
- [转帖]SkyWalking集成logback
1.引入skywalking的jar包,导入的包和agent版本一致 <dependency> <groupId>org.apache.skywalking</group ...
- MySQL控制权限
编写顺序和执行顺序是不一样的 编写顺序: SELECT 字段列表 FROM 表名列表 WHERE 条件列表 GROUP BY 分组字段列表 HAVING 分组后条件列表 ORDER BY 排序字段列表 ...
- 原生js中offsetTop, offsetLeft与offsetParent的详细讲解
简单说下:offsetTop offsetTop: 为只读属性. 返回的是一个数字. 它返回当前元素相对于其 offsetParent 元素的顶部内边距的距离. 它等价于offsetTop==> ...
- 【0基础学爬虫】爬虫基础之HTTP协议的基本原理介绍
大数据时代,各行各业对数据采集的需求日益增多,网络爬虫的运用也更为广泛,越来越多的人开始学习网络爬虫这项技术,K哥爬虫此前已经推出不少爬虫进阶.逆向相关文章,为实现从易到难全方位覆盖,特设[0基础学爬 ...
- jenkins 安装与构建过程中的系列问题
一.插件安装遇到的依赖问题 插件安装分为在线安装和离线安装 1.在线安装 搜索要安装的插件,然后进行安装即可 2.离线安装hpi文件 使用该方法安装插件每次只能安装一个插件,且如果插件之间存在依赖性则 ...
- Fabric网络升级(三)
原文来自这里. 如果不熟悉capability,那么操作前可以查阅Capabilities.需要注意的是在启用capabilities前,需要升级归属该通道的peer节点和排序节点. 更多关于最新版F ...