java通过jsp的Excel导出
在项目中一般导出报表用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通过jsp的Excel导出的更多相关文章
- java利用EasyPoi实现Excel导出功能
easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板 语言( ...
- excel导出工具
介绍 excel导出工具 整个项目的代码结构如下 com \---utils +---demo # 案例相关 | | ExcelExportApplication.java # springboot启 ...
- JAVA实现Excel导出数据(以写好的Excel模版导出)
工作中经常会有将后台数据以Excel导出的功能. 简单的方法有将response的contentType设置为application/vnd.ms-excel: 或在JSP页面直接设置成: <% ...
- java反射学习之二万能EXCEL导出
一.EXCEL导出的实现过程 假设有一个对象的集合,现在需要将此集合内的所有对象导出到EXCEL中,对象有N个属性:那么我们实现的方式是这样的: 循环这个集合,在循环集合中某个对象的所有属性,将这个对 ...
- Atitit.excel导出 功能解决方案 php java C#.net版总集合.doc
Atitit.excel导出 功能解决方案 php java C#.net版总集合.docx 1.1. Excel的保存格式office2003 office2007/2010格式1 1.2. 类库选 ...
- java-excel导出
java excel导出分为两种2003年的格式和2007年的格式. 2003年的xls一个sheet限制65536. 2007年的xlsx限制为1048576. jxl导入2003 gradle j ...
- Java使用POI实现数据导出excel报表
Java使用POI实现数据导出excel报表 在上篇文章中,我们简单介绍了java读取word,excel和pdf文档内容 ,但在实际开发中,我们用到最多的是把数据库中数据导出excel报表形式.不仅 ...
- Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类
Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...
- Java常用工具类之Excel导出
package com.wazn.learn.util; import java.util.List; import java.util.Map; import org.apache.poi.hssf ...
随机推荐
- void*指针
C++提供了一种特殊的指针类型void*,它可以保存任何类型对象的地址: void*表明该指针与一地址值相关,但不清楚存储在此地址上的对象的类型. void*指针只支持几种有限的操作: 1)与另一个指 ...
- 显示目录树命令tree
-a:显示所有文件,包括隐藏文件 -d:只显示目录 -f:显示完整的文件名,包含路径 -L:显示目录树的深度 [root@rusky /]# tree -L -a -f /home /home |-- ...
- Linux内核如何启动并装载一个可执行程序
2016-04-07 张超<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000#/info 一.理解编译链接的 ...
- 重学《C#高级编程》(泛型与数组)
前段时间工作比较忙,就没有写随笔了,现在继续. 前两天重新看了泛型和数组两章,简单说下我自己的收获吧 泛型 我们知道数组是一种批量的数据格式,而泛型其实就是一种自定义的批量数据格式,当数组和C#现有的 ...
- C# 还原SQL数据库(非存储过程方式)
Winform的代码,最好是在数据所在电脑上运行代码,不然会因为权限问题导致失败. 数据库备份: SqlConnection con = new SqlConnection("Data So ...
- css伪类选择器详细解析及案例使用-----伪类选择器(2)
结构伪类选择器: <div> <ul> /*ul:only-of-type*/ <li>one</li> /*li:first-child li:nth ...
- javascript 识别移动端设备
看到一种比较简单的方法,于是就把它记录下来备用吧.最近离职了,房子换了,还有...真是一把心酸,我知道谁活着都不容易,自己也资格把自己的苦水吐给别人,因为别人也过得不容易,所以大多不快都只能闷着,大家 ...
- Ajax (jquery)实现智能提示搜索框(in Django)
搜索框输入搜索名字,从数据库中筛选名字, 如果有包含输入的字母的名字则以json格式返回并且显示在搜索框下: html文件: <!DOCTYPE html> <ht ...
- 关于控制文件和redo log损坏的恢复
前段时间一朋友自己电脑上的开发测试用的数据库出了点问题,电脑操作系统是Win8,直接在Win8上安装了Oracle11g,后来系统自动升级到Win8.1,Oracle相关的服务全都不见了,想想把数据文 ...
- oracle nvl()函数在使用中出现的问题
看一条sql select q.*, r.goods_name from (select nvl(t.goods_code, s.goods_code) goods_code, t.buy_open_ ...