/**

* 导出宿舍人员信息 Excel文件

* @param type

* @param id

* @param request

* @param response

* @return

* @throws IOException

*/

@GetMapping("/download/export/student")

public R setUpExcel(@Param("type") String type, @Param("id") String id, HttpServletRequest request, HttpServletResponse response) throws IOException{

List roomPersonnelList=roomPersonnelService.getRoomStudent(type, id,LyraUtils.getCompanyId());

/* if (ObjectUtil.isNull(roomPersonnelList)||roomPersonnelList.isEmpty()){

return R.failed("无数据导出");

}*/

// 第一步,创建一个webbook,对应一个Excel文件

HSSFWorkbook wb = new HSSFWorkbook();

// 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet

HSSFSheet sheet = wb.createSheet("学生信息");

// 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short

HSSFRow row = sheet.createRow((int) 0);

// 第四步,创建单元格,并设置值表头 设置表头居中

// HSSFCellStyle style = wb.createCellStyle();

wb.setSheetName(0, "宿舍学生信息");

String[] headers = { "学生姓名", "学号","性别","年级","班级","宿舍楼","宿舍号","床位号","入住时间"};

for (short i = 0; i < headers.length; i++) {

//创建单元格,每行多少数据就创建多少个单元格

HSSFCell cell = row.createCell(i);

HSSFRichTextString text = new HSSFRichTextString(headers[i]);

//给单元格设置内容

cell.setCellValue(text);

}

// 第五步,写入实体数据 这些数据从数据库得到,

HSSFRow rows;

HSSFCell cells;

for (int i = 0; i < roomPersonnelList.size(); i++) {

// 第三步:在这个sheet页里创建一行

rows = sheet.createRow(i+1);

// 第四步:在该行创建一个单元格

cells = rows.createCell(0);

// 第五步:在该单元格里设置值

cells.setCellValue(roomPersonnelList.get(i).getStuName());

cells = rows.createCell(1);

cells.setCellValue(roomPersonnelList.get(i).getStudentId());

cells = rows.createCell(2);

cells.setCellValue(roomPersonnelList.get(i).getGender());

cells = rows.createCell(3);

cells.setCellValue(roomPersonnelList.get(i).getGradeName());

cells = rows.createCell(4);

cells.setCellValue(roomPersonnelList.get(i).getClassName());

cells = rows.createCell(5);

cells.setCellValue(roomPersonnelList.get(i).getDormId());

cells = rows.createCell(6);

cells.setCellValue(roomPersonnelList.get(i).getRoomId());

cells = rows.createCell(7);

cells.setCellValue(roomPersonnelList.get(i).getBunkId());

cells = rows.createCell(8);

cells.setCellValue(roomPersonnelList.get(i).getCreateTime());

}

try {

String fileName = "宿舍人员信息.xls";// 文件名

response.setContentType("application/x-msdownload");

response.setHeader("Content-Disposition", "attachment; filename="

+ URLEncoder.encode(fileName, "UTF-8"));

OutputStream out = response.getOutputStream();

wb.write(out);

wb.close();

} catch (Exception e) {

e.printStackTrace();

} /*finally {

try {

out.close();

} catch (IOException e) {

e.printStackTrace();

}

}*/

return null;

}

java 前端导出exvel_java导出数据到Excel文件 前端进行下载相关推荐

  1. 如何将数据从Excel文件导入SQL Server数据库

    There are many ways to import data from an Excel file to a SQL Server database using: 有多种方法可以使用以下方法将 ...

  2. java导出为excel文件_java导出数据到excel文件

    有的时候,将一些有用的数据导出到excel是很有必要的.比如说,我现在在做一个学校的在线教学平台,有一个需求是:将学生成绩导出到excel文件中去. 那怎样实现用java导出数据到excel文件呢?? ...

  3. JAVA导出exls时报oom_如何实现导出百万条数据到EXCEL中不报OOM异常?

    Java项目中使用POI导出百万条数据到Excel中,但是会出现内存溢出异常. 存在以下问题需要考虑POI导出条数限制6w+ 数据量大的话会导致内存溢出 现在的做法是每6w条数据做一次分割,创建一个新 ...

  4. java读取百万条记录出错_如何实现导出百万条数据到EXCEL中不报OOM异常?

    Java项目中使用POI导出百万条数据到Excel中,但是会出现内存溢出异常. 存在以下问题需要考虑POI导出条数限制6w+ 数据量大的话会导致内存溢出 现在的做法是每6w条数据做一次分割,创建一个新 ...

  5. Java导出数据到Excel文件

    Java导出数据到Excel文件 前言 如何导出 导出的基本流程 测试结果 测试数据及结果 测试代码 ExcelExportUtil.class 遇到的问题 lombok的问题 解决 Cell.set ...

  6. java导出文件到excel文件怎么打开_Java导出数据到Excel文件

    Java导出数据到Excel文件需要的jar包:easypoi-0.1.3.jar, poi-3.7-20101029 package com.sais.inkaNet.reportStatistic ...

  7. java 从excel中读取数据_在Java中读取Excel文件的内容和导出数据到Excel文件中

    转自www.chianjavaworld.net 原作者:SonyMusic 读:rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr 在Java ...

  8. 使用POI导出百万级数据到excel的解决方案

    使用POI导出百万级数据到excel的解决方案 参考文章: (1)使用POI导出百万级数据到excel的解决方案 (2)https://www.cnblogs.com/hxun/p/11419006. ...

  9. (原创)datagrid数据导出到excel文件给客户端下载的几种方法

    方法一:导出到csv文件,存放在服务器端任一路径,然后给客户下载 优点: 1.可以进行身份认证后给客户下载,如果放到非web目录就没有对应的url,客户无法随时下载. 2.也是因为生成了文件,所以占用 ...

最新文章

  1. ADAS摄像头20个技术挑战
  2. 用GDB调试程序(转)
  3. Markdown编辑表格时如何输入竖线('|', pipe,vertical bar)
  4. linux 环境安装Flutter
  5. 分布式文件系统—HDFS—shell命令
  6. Java网络编程二:Socket详解
  7. 4 初学入门_2020年最新版,如何挑选入门级,进阶级和专业级网球拍(12月更新)...
  8. read while循环 tar脚本
  9. WebUserControl简单事件定义
  10. 在powerDesigner中通过SQL生成pdm
  11. mysql 1194_打开网页提示mysql发生错误,错误号1194,请问下该怎么解决? 爱问知识人...
  12. word 左侧显示目录
  13. 并发安全的计数统计类:AtomicLong和LongAdder
  14. word论文排版和写作04:用MathType和word公式编辑器插入数学公式
  15. 机器人SLAM与自主导航——(四)Gazebo仿真机器人导航
  16. Error: Failed to load config “standard“ to extend from
  17. 手机访问计算机FTP服务器
  18. HDU 1218 - Blurred Vision
  19. 诺贝尔奖今起揭晓 4位华裔科学家成热门
  20. Cannot add property xxx, object is not extensible

热门文章

  1. ASP.Net Jquery 随机验证码 文本框判断
  2. 注解描述(持续更新)
  3. cPanel设置自定义404错误页
  4. log4j 总结 精华
  5. mac osx 快捷键
  6. sharepoint搜索pdf文档
  7. 支持drupal的空间
  8. 应用高斯分布来解决异常检测问题(一)
  9. DevExpress XtraGrid RepositoryItemCheckEdit 复选框多选的解决方法(转)
  10. 双系统(win8.1+ubuntu14.04)删除win下分区导致grub rescue解决方案