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没什么底子.所以就没有什么好的技术去解决问题.一直在百度,不懂就百度.这样子下来其实也能学到一些东西,过阵子等 ...
随机推荐
- Go-选择排序
// SelectionSort 选择排序 // 思路: // 1. 遍历整个元素集合,将最小值取出追加到一个有序的元组 // 2. 重复遍历剩余元素集合,取出最小值追加到一个有序元组 // 选择排序 ...
- 神经网络优化篇:详解调试处理(Tuning process)
调试处理 关于训练深度最难的事情之一是要处理的参数的数量,从学习速率\(a\)到Momentum(动量梯度下降法)的参数\(\beta\).如果使用Momentum或Adam优化算法的参数,\(\be ...
- [转帖]【P1】Jmeter 准备工作
文章目录 一.Jmeter 介绍 1.1.Jmeter 有什么样功能 1.2.Jmeter 与 LoadRunner 比较 1.3.常用性能测试工具 1.4.性能测试工具如何选型 1.5.学习 Jme ...
- [转帖]021系统状态检测命令sosreport
https://www.cnblogs.com/anyoneofus/p/16467677.html sosreport命令用于收集系统配置及架构信息并输出诊断文档.
- 【转帖】16.JVM栈帧内部结构-局部变量表
目录 1.局部变量表(Local variables) 1.局部变量表(Local variables) 1.局部变量表也称为局部变量数组或本地变量表. 2.局部变量表定义为一个数字数组,主要用于存储 ...
- [转帖]关于winrm远程ps登录执行出现中文乱码和?乱码问题及其解决办法
https://segmentfault.com/a/1190000040566946?utm_source=sf-similar-article python的winrm库提供了命令行远程连接的功能 ...
- JVM启动参数脚本的再学习与研究
JVM启动参数脚本的再学习与研究 摘要 学无止境 前段时间一直再研究JVM参数调优. 但是最近也在想不应该仅研究如何调优. 因为不管怎么设置, 总有猪队友会把环境搞崩. 所以应该想办法在无人值守的情况 ...
- 多模态 GPT-V 出世!36 种场景分析 ChatGPT Vision 能力,LMM 将全面替代大语言模型?
LMM将会全面替代大语言模型?人工智能新里程碑GPT-V美国预先公测,医疗领域/OCR实践+166页GPT-V试用报告首发解读 ChatGPT Vision,亦被广泛称为GPT-V或GPT-4V,代表 ...
- 华为云DTSE携手“灵康宜”构造一站式智慧健康检测云平台
本文分享自华为云社区<华为云DTSE携手"灵康宜"构造一站式智慧健康检测云平台>,作者: HuaweiCloudDeveloper. 打破传统健康监测方式桎梏--非接触 ...
- golang实现的 https 协议的四层代理和七层代理
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 四层代理 在 tcp 这一层转发很简单. http 协议是 ...