要: 近两天一直再整这个文件下载,本来一个都整不出来,得知Jfinal有个renderFile()就解决了,又碰到dwz前台报Http status: 200 OK ajaxOptions: parsererror thrownError: SyntaxError: Unexpected token,然后,改成jsp下载excel后奇迹般的Jfinal的renderFile()也通了,太高兴了,双喜呀!

废话不说了,开始了!

方案一:JFinal的renderFile("路径")功能

先说说我的逻辑:

前台页面点击请求发送到后台Controller,然后Controller层主要根据所需条件进行表格的组装,组装好上传到服务器后,然后跳转到前台直接显示下载框,下载即可。

前台jsp部分:

<li><a class="icon" href="<%=basePath%>feedback/expFeedBack" ><span>导出信息</span></a></li>

Controller部分:

public void expFeedBack(){String time="";int count = 0;String mypath="";try {List<FeedBack> list = FeedBack.dao.find("select f.id,f.content,f.datatime,f.tele from feedback f");count = list.size();time = DateUtil.formatDate();String path = new File("").getAbsolutePath().replaceAll("\\\\", "/"); //获得Tomcat的默认路径mypath = path.substring(0,path.lastIndexOf("/"))+"/webapps/3d/excel/"+time+"-"+count+"条.xlsx"; //截取字符串FileOutputStream os = new FileOutputStream(mypath);Workbook workBook = new SXSSFWorkbook(100); // 只在内存中保留100行记录Sheet  sheet = workBook.createSheet();try {int i=0;Row row1 = sheet.createRow(i++);Cell  cell = row1.createCell(0);cell.setCellValue("id"); cell = row1.createCell(1);cell.setCellValue("反馈内容");cell = row1.createCell(2);cell.setCellValue("反馈时间"); cell = row1.createCell(3);cell.setCellValue("联系方式");cell = row1.createCell(4);for (int j = 0; j < list.size(); j++) {row1 = sheet.createRow(i++);cell = row1.createCell(0);cell.setCellValue(list.get(j).getInt("id"));cell = row1.createCell(1);cell.setCellValue(list.get(j).getStr("content"));cell = row1.createCell(2);cell.setCellValue(list.get(j).getStr("datatime"));cell = row1.createCell(3);cell.setCellValue(list.get(j).getStr("tele"));cell = row1.createCell(4);}workBook.write(os);}catch(Exception e){e.printStackTrace();}} catch (FileNotFoundException e1) {e1.printStackTrace();}//判断路径是否存在if(new File(mypath).isFile()){renderFile(new File(mypath));}else{renderNull();}}

然后就愉快的可以下载了

方案二:jsp页面做成的下载【给人以假象的感觉】

jsp导出excel其实就是后台查询完数据放入list集合中,然后跳转到jsp,然后jsp按照规定的格式显示出来,并且前台弹出框,所以就有了jsp下载excel

前台jsp部分:

<li><a class="icon" href="<%=basePath%>feedback/expFeedBack" ><span>导出信息</span></a></li>

然后就是后台部分:

 
setAttr("feedBackList", FeedBack.dao.find("select * from feedback"));renderJsp("/admin/download.jsp");

这里的download.jsp是我做的一个下载弹出框要弹出格式的页面,内容如下

<%@ page contentType="application/vnd.ms-excel; charset=gbk" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page language="java" pageEncoding="GBK" import="com.dxcm.common.util.*"%>
<%String time = DateUtil.formatDate();String filename = new String((time).getBytes("GBK"),"ISO-8859-1"); response.setHeader("Content-disposition","attachment; filename="+filename+".xls");
%>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body ><table border="1"><tr><td>ID</td><td>反馈内容</td><td>反馈时间</td><td>联系方式</td></tr><c:forEach items="${feedBackList}" var ="f"><tr><td>${f.id}</td><td>${f.content}</td><td>${f.datatime}</td><td>${f.tele}</td></tr></c:forEach></table>
</body>
</html>

这里我用的是EL表达式遍历的后台传出来的集合。

以上代码属本人归纳总结,如有问题,还请多多指教。

jfinal+poi导出excel相关推荐

  1. POI 导出excel带小数点的数字格式显示不对解决方法

    POI 导出excel带小数点的数字格式显示不对解决方法 参考文章: (1)POI 导出excel带小数点的数字格式显示不对解决方法 (2)https://www.cnblogs.com/firstd ...

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

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

  3. @excel注解_java bean 一对多,多对一 poi导出excel表格

    最近造了个poi导出 excel轮子 特点 java bean 一对多.多对一关系合并单元行 支持图片导出 Bean 一对多关系合并行 代码 public class User { @Excel(na ...

  4. Java POI 导出EXCEL经典实现 Java导出Excel

    转自http://blog.csdn.net/evangel_z/article/details/7332535 在web开发中,有一个经典的功能,就是数据的导入导出.特别是数据的导出,在生产管理或者 ...

  5. SpringMVC+Hibernate +MySql+ EasyUI实现POI导出Excel(二)

    为什么80%的码农都做不了架构师?>>> SpringMVC+Hibernate +MySql+ EasyUI实现CRUD(一) 大概的截图.很简单的小功能 注:使用的是MyEcli ...

  6. springboot中使用poi导出excel文件(亲测实现了第一个功能)

    1.POI简介 Jakarta POI 是一套用于访问微软格式文档的Java API. 组件HWPF用于操作Word的; 组件HSSF用于操作Excel格式文件. 2.常用组件 HSSFWorkboo ...

  7. java poi 导出excel 数字有问题

    在用poi导出excel时 导出的数字为文本格式(左上角有绿色三角) 原因: cell.setCellType(Cell.CELL_TYPE_NUMERIC); cell.setCellValue( ...

  8. java excel 导出图片_JAVA 使用 POI 导出 EXCEL 自定义背景颜色

    开发中常用表格导入和导出 Excel 是常见的功能. 在这里分享下使用 POI 导出表格的简单实现,也是为大家提供个思路吧,抛砖引玉,话不多说直接上代码. 1.项目引入 maven 依赖 <!- ...

  9. POI导出EXCEL设置高度和宽度

    -------------------------------------------------------------------------------SSFRow hssfRow = shee ...

最新文章

  1. git中的fork应该这样使用
  2. 【PC工具】winrar解压缩装机必备软件,winRAR5.70免费无广告
  3. CentOS7下Hadoop集群搭建
  4. ReactJS学习 相关网站
  5. Spring Boot JWT 快速入门
  6. java 返回两个集合_使用 java stream 获取两个集合之间的交集.差集
  7. 地图上探测器扫描到的范围(洛谷P3717题题解,Java语言描述)
  8. 计算机基础知识_计算机基础知识汇总
  9. SCCM 2012 R2---安装前的准备工作
  10. 与计算机专业相关的英语科普短文,英语科普文选-中英文对照(计算机.doc
  11. .NET Framework中的配置文件(config)
  12. Julia :元编程、宏
  13. 记一次云服务器ssh爆破维护实例
  14. 数据库表同义词mysql修改_SQLServer中同义词Synonym的用法
  15. 3万字长文概述:通俗易懂告诉你什么是.NET?什么是.NET Framework?什么是.NET Core?
  16. java文件写入不覆盖_java写入文件不覆盖写入_Java写入文件–用Java写入文件的4种方法...
  17. DolphinPHP 框架wangeditor编辑器图片路径改为绝对链接
  18. MMAction2学习笔记 使用C3D训练测试自己的数据集
  19. activiti学习01
  20. 编程语言和操作系统是什么关系?编程语言如何被计算机执行的?驱动程序的理解?

热门文章

  1. 机房网络服务器维修图片,机房机柜尾纤布线图片 机房布线维护整理
  2. 黑群辉DSM 6.2.3 系统安装
  3. C++中strcmp的用法
  4. 树莓派——摄像头配置与操作
  5. mac os linux pageup pagedown,教你巧用Mac上的Page UpDown键
  6. linux 命令:ping、fping、gping、hping3、tracert、traceroute
  7. 工厂方法模式完成简单KFC点餐
  8. eclipse配置python开发环境_如何在Eclipse中配置python开发环境
  9. 人工智能导论(5)——搜索策略(Search Strategy)
  10. P6 Vue双向绑定 v-model