java通过jsp的Excel导出
2023-09-14 09:10:08 时间
在项目中一般导出报表用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="listsickpeople" status="s"> <tr class="row" onmouseover="this.className='overrow'" onmouseout="this.className='row'" align="center"> <td><s:property value="#s.index+1" /></td> <td><input type="checkbox" class="inp02" name="recordids" style="vertical-align: middle;" value="<s:property value="record_id" />"/></td> <td><s:property value="record_id" /></td> <td><s:property value="archive_id" /></td> <td><s:property value="real_name" /></td> <td align="center"><s:if test="sex==0"> <div class="sexw"></div> </s:if> <s:elseif test="sex==1"> <div class="sexm"></div> </s:elseif></td> <td><s:property value="age" /></td> <td><s:property value="contact_tel" /></td> <td align="left" title="<s:property value="is_yang_value" />"><s:property value="@com.hljw.util.UtilAPI@strBeyondHidden(is_yang_value,50)" /></td> </tr> </s:iterator> <s:if test="countTotal==0"> <tr class="tiprow"> <td colspan="9">没有找到符合条件的数据</td> </tr> </s:if> </table>
第二:点击导出后相应的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"%> <span style="color:#FF0000;"><% String execlFileName = (String)request.getAttribute("execlFileName"); response.setHeader("Content-disposition","attachment; filename="+execlFileName+".xls"); response.setHeader("Pragma", ""); response.setHeader("Cache-Control", ""); %></span> <!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="listsickpeople" status="s"> <tr align="center"> <td><s:property value="#s.index+1" /> </td> <td><s:property value="record_id" /> </td> <td><s:property value="archive_id" /> </td> <td><s:property value="real_name" /> </td> <td><s:property value="sex" /> </td> <td><s:property value="age" /> </td> <td><s:property value="contact_tel" /> </td> <td align="left"><s:property value="is_yang_value" /> </td> </tr> </s:iterator> </table> </body> </html>
相关文章
- java 图片压缩
- 女生学java_Java Server Pages
- fileinputstream java,使用url的Java fileinputstream
- import java.io 是什么意思_Java IO 详解
- excel宏 java,Microsoft Excel宏运行Java程序
- eclipse怎么导入java文件_Eclipse如何导入JAVA工程?如何将项目导入Eclipse中?
- java uuid 随机数_Java随机数和UUID[通俗易懂]
- java 生成xml dom4j_Java生成xml——DOM4J生成
- Java 根据XPATH批量替换XML节点中的值
- Java集合类的使用心得
- 一个简单的Java应用程序及注释
- 一文带你搞明白深入解析java虚拟机垃圾回收器究竟是什么鬼
- java stack deque_java如何实现栈
- 12款最常用的Java测试工具
- java 事务嵌套_Java事务以及嵌套事务[通俗易懂]
- Java map转实体类_java实体类转json
- java 数字信封_【Java密码学】使用Bouncy Castle生成数字签名、数字信封
- Java线程池
- 初始数组--Java版
- 【云驻共创】 JAVA常用的开发工具有哪些?
- java处理Excel文件—excel文件的创建,删除,写入,读取详解编程语言
- JSP实现图片上传存入MySQL(jsp上传图片mysql)
- 系统命令Java实现Linux系统命令调用的探究(java调用linux)
- 数据采用JSP快速修改MySQL数据库中的记录(jsp修改mysql)
- Linux下开发JSP编程指南(linux开发jsp)
- 时钟实现Redis Java实现的过期时钟机制(redisjava过期)
- 机制Redis Java中的过期机制研究(redisjava过期)
- 策略处理Redis Java过期策略的有效方式(redisjava过期)
- 时间设置Java通过Redis设置过期时间(redisjava过期)
- Java与MySQL共同构建良好的数据表(java mysql 表)
- 一起学习Java的Oracle包(java的oracle包)
- 合Java与Oracle联手打造崭新未来(java和oracle联)
- 编程Oracle数据库中实现Java编程的突破之道(oracle使用java)
- JAVA/JSP学习系列之五(JDBC-ODBC翻页例子)
- java读写二进制文件的解决方法