1. 数据库查出数据导出excel浏览器并下载

    /*** 导出下载excel* @param list 导出数据* @throws Exception*/public static void exportExcel(HttpServletResponse response, List<Student> list) throws Exception {SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMddHHmmss");XSSFWorkbook wb = new XSSFWorkbook();//标题行抽出字段String[] title = {"序号", "学号", "姓名", "性别", "入学时间", "住址", "手机号", "其他信息"};//设置sheet名称,并创建新的sheet对象Sheet stuSheet = wb.createSheet();//获取表头行Row titleRow = stuSheet.createRow(0);//创建单元格,设置style居中,字体,单元格大小等CellStyle style = wb.createCellStyle();Cell cell = null;//把已经写好的标题行写入excel文件中for (int i = 0; i < title.length; i++) {cell = titleRow.createCell(i);cell.setCellValue(title[i]);cell.setCellStyle(style);}//把从数据库中取得的数据一一写入excel文件中Row row = null;for (int i = 0; i < stuList.size(); i++) {//创建list.size()行数据row = stuSheet.createRow(i + 1);//把值一一写进单元格里//设置第一列为自动递增的序号row.createCell(0).setCellValue(i + 1);row.createCell(1).setCellValue(stuList.get(i).getStuId());row.createCell(2).setCellValue(stuList.get(i).getStuName());row.createCell(3).setCellValue(stuList.get(i).getGender());//把时间转换为指定格式的字符串再写入excel文件中row.createCell(4).setCellValue(stuList.get(i).getEnterTime());row.createCell(5).setCellValue(stuList.get(i).getAddress());row.createCell(6).setCellValue(stuList.get(i).getPhone());row.createCell(7).setCellValue(stuList.get(i).getOtherInfo());}//设置单元格宽度自适应,在此基础上把宽度调至1.5倍for (int i = 0; i < title.length; i++) {stuSheet.autoSizeColumn(i, true);stuSheet.setColumnWidth(i, stuSheet.getColumnWidth(i) * 15 / 10);}   //设置文件名String fileName = sdf1.format(new Date()) + "测试报表导出" + ".xlsx";//下载response.reset();response.setContentType("application/octet-stream; charset=utf-8");//以流的形式对文件进行下载response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName, "UTF-8"));//对文件名编码,防止文件名乱码wb.write(response.getOutputStream());response.getOutputStream().close();}

2.数据库查出数据导出excel到指定目录

 /**   * 导出excel到指定路径* @param stuList 从数据库中查询需要导入excel文件的信息列表* @return 返回生成的excel文件的路径* @throws Exception*/public static void exportExcel(HttpServletResponse response, List<Student> stuList) throws Exception {SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMddHHmmss");XSSFWorkbook wb = new XSSFWorkbook();//标题行抽出字段String[] title = {"序号", "学号", "姓名", "性别", "入学时间", "住址", "手机号", "其他信息"};//设置sheet名称,并创建新的sheet对象Sheet stuSheet = wb.createSheet();//获取表头行Row titleRow = stuSheet.createRow(0);//创建单元格,设置style居中,字体,单元格大小等CellStyle style = wb.createCellStyle();Cell cell = null;//把已经写好的标题行写入excel文件中for (int i = 0; i < title.length; i++) {cell = titleRow.createCell(i);cell.setCellValue(title[i]);cell.setCellStyle(style);}//把从数据库中取得的数据一一写入excel文件中Row row = null;for (int i = 0; i < stuList.size(); i++) {//创建list.size()行数据row = stuSheet.createRow(i + 1);//把值一一写进单元格里//设置第一列为自动递增的序号row.createCell(0).setCellValue(i + 1);row.createCell(1).setCellValue(stuList.get(i).getStuId());row.createCell(2).setCellValue(stuList.get(i).getStuName());row.createCell(3).setCellValue(stuList.get(i).getGender());//把时间转换为指定格式的字符串再写入excel文件中row.createCell(4).setCellValue(stuList.get(i).getEnterTime());row.createCell(5).setCellValue(stuList.get(i).getAddress());row.createCell(6).setCellValue(stuList.get(i).getPhone());row.createCell(7).setCellValue(stuList.get(i).getOtherInfo());}//设置单元格宽度自适应,在此基础上把宽度调至1.5倍for (int i = 0; i < title.length; i++) {stuSheet.autoSizeColumn(i, true);stuSheet.setColumnWidth(i, stuSheet.getColumnWidth(i) * 15 / 10);}//获取配置文件中保存对应excel文件的路径,本地也可以直接写成 D:\testDir 路径String folderPath = "D:\\testDir";//创建上传文件目录File folder = new File(folderPath);//如果文件夹不存在创建对应的文件夹if (!folder.exists()) {folder.mkdirs();}//设置文件名String fileName = sdf1.format(new Date()) + "测试报表导出" + ".xlsx";String savePath = folderPath + File.separator + fileName;OutputStream fileOut = new FileOutputStream(savePath);wb.write(fileOut);fileOut.close();}

java poi导出下载excel报表或下载到指定路径相关推荐

  1. Java POI 导出EXCEL经典实现 Java导出Excel弹出下载框

    原文转载:http://blog.csdn.net/evangel_z/article/details/7332535 目录(?)[+] 在web开发中,有一个经典的功能,就是数据的导入导出.特别是数 ...

  2. 10、借助POI实现Java生成并打印excel报表(1)

    10.1.了解 Apache POI 实际开发中,用到最多的是把数据库中数据导出生成报表,尤其是在生产管理或者财务系统中用的非常普遍.生成报表格式一般是EXCEL或者PDF .利用Apache  PO ...

  3. cpu java poi 导出_java基于poi导出excel透视表代码实例

    这篇文章主要介绍了java基于poi导出excel透视表代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 从前,我是一个前端程序猿,怀着对打通 ...

  4. java poi 导出excel不能超过65536行

    java poi 导出excel不能超过65536行 报这个异常 Exception in thread "main" java.lang.IllegalArgumentExcep ...

  5. H5将网页数据导出为Excel并可下载

    H5将网页数据导出为Excel并可下载 在制作webapp中,遇到个要将数据导出为Excel的问题.我搜索了一下网上的方案,可以直接将HTML的表格导出为Excel文件,这些方法在电脑上确实是可行的, ...

  6. java poi打印excel_java中对poi导出的Excel进行打印设置

    java中对poi导出的Excel进行打印设置 java中对poi导出的Excel进行打印设置 无模板时 PrintSetup ps = sheet.getPrintSetup(); // 印刷方向. ...

  7. Java的poi导出的excel不能超过256列的解决办法

    Java的poi导出的excel不能超过256列的解决办法 背景 1.现在的情况 2.解决办法 背景 导出时如果列超过256导出就会报错,现在进行解决 1.现在的情况 excel文件名以.xls结尾 ...

  8. springboot实现数据库数据导出生成Excel报表

    一.导入poi依赖 <!-- poi实现excel导入导出--><dependency><groupId>org.apache.poi</groupId> ...

  9. java poi 导出中利用sum函数实现合计功能

    java poi 导出中利用sum函数实现合计功能 之前也写过导出功能但是没有写过合计.所以记录下来当做笔记. for(int i = 0; i < arrSize; i++) {JSONObj ...

最新文章

  1. 食堂就餐刷卡系统源码_智慧食堂重新定义你的食堂管理系统
  2. MFC 去掉CWnd的边框
  3. android phonegap插件开发方法 plugin
  4. 简述ospf的工作原理_全方位了解OSPF的工作原理以及涉及到的重要技术
  5. 操作系统实验报告15:进程同步与互斥线程池
  6. 216. Combination Sum III 组合总和 III
  7. gptuefi优势_UEFI+GPT的区别,有啥不同?写的很详细易懂
  8. fiddler抓包1-抓小程序https包
  9. 大蚂蚁在64位系统下,右键没有快发的解决方案
  10. [转载] Java中的关键字含义以及介绍
  11. 2018-4-17论文《狼群算法的研究与应用》笔记1 智能算法简介;狼群算法国内外研究现状以及参看文献
  12. 伦敦金行情走势k线图
  13. LVS负载均衡群集(理论+实验)
  14. SAP 常用后台配置
  15. 用python爬取公众号推送图片并保存为PPT
  16. MySQL之虚拟列的详细讲解
  17. 开发日志_Jan.9
  18. Linux学习网站推荐
  19. 如何利用wireshark抓取手机包
  20. 系统提示服务器错误 请联系管理员,金蝶软件K3 主控台登录提示:应用服务器连接到一个错误的数据库,请与系统管理员联系...

热门文章

  1. java计算机二级知识点、易错点整理(三)
  2. optuna-自动化调参利器
  3. 编译go文件时内部包引用受限的问题(use of internal package /PATH/ not allowed)
  4. Android动画特效(《安卓群英传》实例)
  5. 蓄水池采样算法的python实现_蓄水池抽样及实现
  6. 设计师接私活的一些忠告
  7. ubuntu服务器dns修改,如何在 Ubuntu 16 中修改 DNS 服务器?
  8. c++中“箭头(-)”和“点号(.)”操作符的区别
  9. Python_封装案例(士兵突击)
  10. 挂耳耳机哪个牌子好,盘点五款挂耳式蓝牙耳机推荐