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 ...
随机推荐
- 使用Ksoap2调用Web Service加入SoapHeader
关于这个问题,如果使用百度都是前篇一律的代码,好不容易上了google才找到完整的方法,这里讲所有的代码都贴出来与大家分享. 首先是.NET写的后台代码 /// <summary> /// ...
- Oracle11g主要服务程序
Oracle Orcl VSS Writer Service:Oracle对 VSS(卷影)的支持服务.Oracle卷映射拷贝写入服务VSS(Volume Shadow Copy Service)能够 ...
- 服务 通话录音 TelephonyManager
MainActivity public class MainActivity extends ListActivity { private BatteryChangedReceiver rec ...
- django: db howto - 2
继 django: db howto - 1 : 一 操作数据库的三种方式: [root@bogon csvt03]# python2.7 manage.py shell Python 2.7.5 ( ...
- Swift中类的两段式构造(类的构造过程)
import Foundation /* 类的构造需要两个阶段: 第一阶段: 1.程序调用子类的某个构造器 2.为实例分配内存, 此时实例的内存还没有被初始化 3.指定构造器确保子类定义的所有实例存储 ...
- angularjs中关于ng-if的一些理论
ng-if简介: ● 使用ng-if指令可以完全根据表达式的值在DOM中生成或移除一个元素.如果赋值给ng-if 的表达式的值是false,那对应的元素将会从DOM中移除,否则对应元素的一个克隆将被重 ...
- nginx+uwsgi+django1.8.5配置
http://jingyan.baidu.com/article/2d5afd69cdf6ad85a3e28e4f.html(搜索: wusgi 配置django1.8项目) http://my.os ...
- HTML&CSS基础学习笔记1.2-HTML的全局属性?
HTML元素都有属性,下面的这些全局属性是所有的HTML元素都可以使用的. 常见的有: HTML元素也有一些本身自己独特的属性,我们以后的笔记中有机会,会再为大家介绍哦. 下面是代码测验,具体的内容可 ...
- C语言初学 计算二元一次方程的问题
#include<stdio.h> #include<math.h> int main() { double a,b,c,disc,x1,x2; scanf("%lf ...
- c语言,全局变量,局部变量,外部函数,内部函数,stasic和extern的复习总结
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...