基于Springboot+Vue实现高校疫情防控系统( 二 )

page = new Page<>(pageNo, pageSize);IPage Dynamic = dynamicService.dynamicService(page,queryParamsVo);return R.success(Dynamic);}}
package com.zhiku.yiqing.web.admin;import com.alibaba.excel.EasyExcel;import com.alibaba.excel.support.ExcelTypeEnum;import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;import com.zhiku.yiqing.common.R;import com.zhiku.yiqing.listener.EasyExcelListener;import com.zhiku.yiqing.listener.ImportTradingListener;import com.zhiku.yiqing.pojo.Student;import com.zhiku.yiqing.pojo.Teacher;import com.zhiku.yiqing.service.StudentService;import com.zhiku.yiqing.service.TeacherService;import com.zhiku.yiqing.util.ContentStyle;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.*;import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletResponse;import java.io.InputStream;import java.net.URLEncoder;import java.nio.charset.StandardCharsets;import java.util.List;/*** EasyExcel导入导出测试Controller*/@RestController@RequestMapping("/easyExcel")public class EasyExcelController {@Autowiredprivate StudentService studentService;@Autowiredprivate TeacherService teacherService;/*导出学生信息列表*/@GetMapping("/exportStudentExcel")@ResponseBodypublic void exportStudentExcel(@RequestParam("ids") Integer[] ids, HttpServletResponse response) throws Exception{//文件名含中文需要转码String fileName =URLEncoder.encode( "学生列表.xlsx", StandardCharsets.UTF_8.toString());//将需要导出的数据从数据库中查出List list = studentService.getAllStudents(ids);//设置响应格式response.setContentType("application/vnd.ms-excel;chartset=utf-8"); //文件扩展名为excel格式response.setHeader("Content-Disposition", "attachment;filename=" + fileName); //触发文件名为filename的“另存为”对话框// 内容样式HorizontalCellStyleStrategy horizontalCellStyleStrategy = ContentStyle.getContentStyle();//将OutputStream对象附着到EasyExcel的ExcelWriter实例EasyExcel.write(response.getOutputStream(), Student.class) //(输出流,文件头).excelType(ExcelTypeEnum.XLSX).autoCloseStream(true).sheet("学生名单") //第一个sheet的名.doWrite(list); //写入数据}@PostMapping("/readStudentExcel")public R readStudentExcel(@RequestParam("file") MultipartFile file){try {InputStream inputStream=file.getInputStream();System.out.println(file.getOriginalFilename());EasyExcel.read(inputStream,Student.class, new EasyExcelListener(studentService))// 设置sheet,默认读取第一个.sheet().doReadSync();return R.success();}catch (Exception e){e.printStackTrace();return R.failure();}}@PostMapping("/readTeacherExcel")public R readTeacherExcel(@RequestParam("file") MultipartFile file){try {InputStream inputStream=file.getInputStream();System.out.println(file.getOriginalFilename());EasyExcel.read(inputStream,Teacher.class, new EasyExcelListener(teacherService))// 设置sheet,默认读取第一个.sheet().doReadSync();return R.success();}catch (Exception e){e.printStackTrace();return R.failure();}}/*导出老师信息列表*/@GetMapping("/exportTeacherExcel")@ResponseBodypublic void exportTeacherExcel(@RequestParam("ids") Integer[] ids, HttpServletResponse response) throws Exception{//文件名含中文需要转码String fileName =URLEncoder.encode( "老师列表.xlsx", StandardCharsets.UTF_8.toString());//将需要导出的数据从数据库中查出List list = teacherService.getAllTeachers(ids);//设置响应格式response.setContentType("application/vnd.ms-excel;chartset=utf-8"); //文件扩展名为excel格式response.setHeader("Content-Disposition", "attachment;filename=" + fileName); //触发文件名为filename的“另存为”对话框// 内容样式HorizontalCellStyleStrategy horizontalCellStyleStrategy = ContentStyle.getContentStyle();//将OutputStream对象附着到EasyExcel的ExcelWriter实例EasyExcel.write(response.getOutputStream(), Teacher.class) //(输出流,文件头).excelType(ExcelTypeEnum.XLSX).autoCloseStream(true).sheet("老师名单") //第一个sheet的名.doWrite(list); //写入数据}}