首页 > 代码库 > java报表导出
java报表导出
在项目中一般导出报表用poi,但是如果你不想用框架就用简单的jsp也可以实现报表导出。而且实现起来还特别简单。先看一下效果截图:
点击导出后的效果截图:
具体实现:
第一:在页面的列表页面中就是普通的iterator源码如下:
<table class="list_tab"> <tr class="head"> <th>序号</th> <th width="20px"><input type="checkbox" class="inp02" style="vertical-align: middle;" id="sall"/></th> <th>体检编号</th> <th>档案编号</th> <th>姓名</th> <th>性别</th> <th>年龄</th> <th>手机号码</th> <th>阳性项目结果</th> </tr> <s:iterator value=http://www.mamicode.com/"listsickpeople" status="s">>
第二:点击导出后对应的action,就是将需要导出的list从数据库中查询出来。(没有特别的地方)public String exportPositiveResult() { if (qureyBean == null) { qureyBean = new SickPeople(); } //这是将复选框的数组转化为sql的in条件 String[] record_ids = this.getParameterValues("recordids"); String record_id = stringArray2StringIn(record_ids); qureyBean.setRecord_id(record_id); listsickpeople = recordService.positiveresult(qureyBean, 1, 1000000); this.dictService.setDictName2ListData(listsickpeople, CacheGlobal.DICT_SEX); execlFileName = UncDate.formatDateTime(new Date(), "yyyyMMddHHmmss"); return SUCCESS; } /** * 将逗号隔开的数组转成In条件 * * @param str * @return */ public String stringArray2StringIn(String[] recordids) { StringBuffer idsStr = new StringBuffer(); for (int i = 0; recordids != null && i < recordids.length; i++) { if (i != 0) { idsStr.append(","); } idsStr.append("‘").append(recordids[i]).append("‘"); } return idsStr.toString(); }第三:action执行后跳转的jsp。(这个特殊地方有两点:第一在头文件需要加一些语句。第二页面只需要导出报表需要的数据,没有任何js和css)源码如下:
<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%> <%@ taglib prefix="s" uri="/struts-tags"%> <% String execlFileName = (String)request.getAttribute("execlFileName"); response.setHeader("Content-disposition","attachment; filename="+execlFileName+".xls"); response.setHeader("Pragma", ""); response.setHeader("Cache-Control", ""); %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=GBK" /> <title>体检系统</title> </head> <body > <table border="1"> <tr> <th>序号</th> <th>体检编号</th> <th>档案编号</th> <th>姓名</th> <th>性别</th> <th>年龄</th> <th>电话</th> <th align="left">阳性项目结果</th> </tr> <s:iterator value=http://www.mamicode.com/"listsickpeople" status="s">>java报表导出
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。