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 ...
随机推荐
- linux wc命令
Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出. 1.命令格式: wc [选项]文件... 2.命令功能: 统计指定文件中的字节数. ...
- 浏览器格式化JSON输出,thinkphp
1 //编写类方法用$this->ajaxReturn()返回数据 2 public function index(){ 3 $user = M('User'); 5 $data = $user ...
- vs开发常用快捷键
Ctrl+K+D:快速对齐代码///按D的时候K快速弹起 如果出现语法错误则无法对齐Ctrl+Z:撤销Ctrl+S:保存Ctrl+J:快速弹出智能提示Shift+End.Shift+Home//快速选 ...
- Create new Android Virtual Device时不能创建
在Create new Android Virtual Device时不能创建... 因为之前有重装过系统,ADT和java都没有更换,不知道是不是有哪里的环境(C盘中的配置)出错了... LOG在下 ...
- MongoDB-C# Driver账户密码登录问题
MongoDb在3.0之后添加了SCRAM-SHA-1,用户验证模式.添加的用户,默认登录协议也是这个. 在登陆的时候就要选择使用这种方式登录.有的gui客户端的登录验证方式还是MONGODB-CR. ...
- uva 498 - Polly the Polynomial
UVa 498: Polly the Polynomial | MathBlog #include <cstdio> #include <cstdlib> using name ...
- css代码整理、收集
整理了一下之前用到过的css代码,实现一种效果或许有许多种写法,我这里整理了一下我个人认为兼容性比较好,结构比较简洁的代码……如有写得不对的地方敬请前辈们指点赐教一下,小弟不胜感激!此学习笔记是动态的 ...
- 今日分享一点干货。PHP中课程表的实现。
首先贴代码,代码贴完再细说: 前段HTML: <div id="studentRead" class="reading" style="z-in ...
- 腾讯CMEM的PHP扩展(转载)
题外话最近公司在做相关的业务,由于Memcached协议缺少返回码,为了保证业务数据的安全性,不得已只好自己写个扩展来实现需求. 基于memcache扩展的2.2.6的稳定版开发而来.代码已经开源,有 ...
- ubuntu 12.04 下搭接Qt 嵌入式开发环境
1.安装前的准备工作 (1)有ubuntu12.04 的系统镜像(也可以其他linux 如Fedorea9),都是安装好的 (2)虚拟机VMWare 或 VirtualBox ,两者都可以,都是安装好 ...