jfinal+poi导出excel
废话不说了,开始了!
方案一: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相关推荐
- POI 导出excel带小数点的数字格式显示不对解决方法
POI 导出excel带小数点的数字格式显示不对解决方法 参考文章: (1)POI 导出excel带小数点的数字格式显示不对解决方法 (2)https://www.cnblogs.com/firstd ...
- cpu java poi 导出_java基于poi导出excel透视表代码实例
这篇文章主要介绍了java基于poi导出excel透视表代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 从前,我是一个前端程序猿,怀着对打通 ...
- @excel注解_java bean 一对多,多对一 poi导出excel表格
最近造了个poi导出 excel轮子 特点 java bean 一对多.多对一关系合并单元行 支持图片导出 Bean 一对多关系合并行 代码 public class User { @Excel(na ...
- Java POI 导出EXCEL经典实现 Java导出Excel
转自http://blog.csdn.net/evangel_z/article/details/7332535 在web开发中,有一个经典的功能,就是数据的导入导出.特别是数据的导出,在生产管理或者 ...
- SpringMVC+Hibernate +MySql+ EasyUI实现POI导出Excel(二)
为什么80%的码农都做不了架构师?>>> SpringMVC+Hibernate +MySql+ EasyUI实现CRUD(一) 大概的截图.很简单的小功能 注:使用的是MyEcli ...
- springboot中使用poi导出excel文件(亲测实现了第一个功能)
1.POI简介 Jakarta POI 是一套用于访问微软格式文档的Java API. 组件HWPF用于操作Word的; 组件HSSF用于操作Excel格式文件. 2.常用组件 HSSFWorkboo ...
- java poi 导出excel 数字有问题
在用poi导出excel时 导出的数字为文本格式(左上角有绿色三角) 原因: cell.setCellType(Cell.CELL_TYPE_NUMERIC); cell.setCellValue( ...
- java excel 导出图片_JAVA 使用 POI 导出 EXCEL 自定义背景颜色
开发中常用表格导入和导出 Excel 是常见的功能. 在这里分享下使用 POI 导出表格的简单实现,也是为大家提供个思路吧,抛砖引玉,话不多说直接上代码. 1.项目引入 maven 依赖 <!- ...
- POI导出EXCEL设置高度和宽度
-------------------------------------------------------------------------------SSFRow hssfRow = shee ...
最新文章
- git中的fork应该这样使用
- 【PC工具】winrar解压缩装机必备软件,winRAR5.70免费无广告
- CentOS7下Hadoop集群搭建
- ReactJS学习 相关网站
- Spring Boot JWT 快速入门
- java 返回两个集合_使用 java stream 获取两个集合之间的交集.差集
- 地图上探测器扫描到的范围(洛谷P3717题题解,Java语言描述)
- 计算机基础知识_计算机基础知识汇总
- SCCM 2012 R2---安装前的准备工作
- 与计算机专业相关的英语科普短文,英语科普文选-中英文对照(计算机.doc
- .NET Framework中的配置文件(config)
- Julia :元编程、宏
- 记一次云服务器ssh爆破维护实例
- 数据库表同义词mysql修改_SQLServer中同义词Synonym的用法
- 3万字长文概述:通俗易懂告诉你什么是.NET?什么是.NET Framework?什么是.NET Core?
- java文件写入不覆盖_java写入文件不覆盖写入_Java写入文件–用Java写入文件的4种方法...
- DolphinPHP 框架wangeditor编辑器图片路径改为绝对链接
- MMAction2学习笔记 使用C3D训练测试自己的数据集
- activiti学习01
- 编程语言和操作系统是什么关系?编程语言如何被计算机执行的?驱动程序的理解?
热门文章
- 机房网络服务器维修图片,机房机柜尾纤布线图片 机房布线维护整理
- 黑群辉DSM 6.2.3 系统安装
- C++中strcmp的用法
- 树莓派——摄像头配置与操作
- mac os linux pageup pagedown,教你巧用Mac上的Page UpDown键
- linux 命令:ping、fping、gping、hping3、tracert、traceroute
- 工厂方法模式完成简单KFC点餐
- eclipse配置python开发环境_如何在Eclipse中配置python开发环境
- 人工智能导论(5)——搜索策略(Search Strategy)
- P6 Vue双向绑定 v-model