/**
* 导出清单 eb中 firstRow(EntityBean) 列表第一行数据,键值对(不包含序号)例:("name","姓名")
* data(EntityBean[]) 列表数据
*
* @author zhaojq
*/
public PR exportData(EntityBean eb)
{
if (eb == null)
{
return new PR(0, "参数为空", null);
}
try
{
// 创建表格文件
String rootpath = NameedPathUtil.getDefaultSavePath();
String filepath = "/LSIP/excel/";
File f = new File(rootpath + filepath);// 创建文件夹路径
// 如果文件夹不存在则创建
if (!f.exists() && !f.isDirectory())
{
f.mkdirs();
}
String filename = System.currentTimeMillis() + ".xls";
File file = new File(f, filename);
if (!file.exists())
{
file.createNewFile();
}
EntityBean firstRow = eb.getBean("firstRow");
EntityBean[] data = eb.getBeans("data");
// 创建工作薄
WritableWorkbook workbook = Workbook.createWorkbook(file);
// 创建新的一页
WritableSheet sheet = workbook.createSheet("第1页", 0);
// Label(列,行,数据) // 第一行
String[] keys = firstRow.getBeanFieldNames();// 获取表头key
for (int i = 0; i < keys.length; i++)
{
Label firstrow = new Label(i, 0, firstRow.getString(keys[i]));
sheet.addCell(firstrow);
} // 创建数据行
for (int i = 0; i < data.length; i++)
{
for (int j = 0; j < keys.length; j++)
{
Label datarow = new Label(j, 1 + i, data[i].getString(keys[j]));
sheet.addCell(datarow);
}
}
workbook.write();
workbook.close();
String contex = LSIPConfigUtil.getDownloadConfig();
return new PR(1, "", String.format("%sLEAP/Download/default%s%s", contex, filepath, filename));
}
catch (Exception e)
{
Global.getInstance().LogError(e);
return new PR(0, e.toString(), null);
}
}

  

/**
* 考试清单导出
*/
public PR exportExamQD(SearchParameters spar)
{
try
{
EntityBean par = new EntityBean();
spar.setOrder("seatno");
spar.setPageSize(10000);
EntityBean[] list = examsearch4eb(spar); if(StringUtil.IsNullOrEmpty(list))return new PR(1,"查询结果为空",null);
//第一行数据
EntityBean firstBean = new EntityBean();
firstBean.set("areaname", "地区");
firstBean.set("examroomid", "考试中心");
firstBean.set("examsubject", "考试科目");
firstBean.set("examtime", "考试时间");
firstBean.set("cardno", "证件号码");
firstBean.set("personname", "姓名");
firstBean.set("mobile", "手机号");
firstBean.set("examstate", "考试报名状态");
firstBean.set("examscore", "成绩");
firstBean.set("seatno", "座位号");
firstBean.set("address", "通讯地址");
for(int i = 0;i < list.length;i++)
{
EntityBean _data = list[i];
String areaname = zonepro.getInstance().getAreaName(_data.getString("areaid"));
_data.set("areaname", areaname); if(_data.getString("examroomid") != null)
{
leapcodevalue _examroomid= CodeTypeCache.getInstance().getCodeValue("LSIP_examroom",_data.getString("examroomid"));
if(_examroomid != null)
_data.set("examroomid", _examroomid.getcodevalue());
}
if(_data.getString("examsubject") != null)
{
leapcodevalue _examsubject= CodeTypeCache.getInstance().getCodeValue("LSIP_examsubject",_data.getString("examsubject"));
if(_examsubject != null)
_data.set("examsubject", _examsubject.getcodevalue());
}
if(_data.getString("examtype") != null)
{
leapcodevalue _examtype= CodeTypeCache.getInstance().getCodeValue("LSIP_examtype",_data.getString("examtype"));
if(_examtype != null)
_data.set("examtype", _examtype.getcodevalue());
}
if(_data.getString("examstate") != null)
{
leapcodevalue _examstate= CodeTypeCache.getInstance().getCodeValue("LSIP_examstate",_data.getString("examstate"));
if(_examstate != null)
_data.set("examstate", _examstate.getcodevalue());
}
if(_data.getString("examtime") != null)
{
_data.set("examtime", _data.getString("examtime").substring(0, 16));
}
}
par.set("firstRow", firstBean);
par.set("data", list);
return new BaseDataService().exportData(par);
}
catch (Exception e)
{
Global.getInstance().LogError(e);
return new PR(0,e.getMessage(),null);
}
}

  

java实现excel表格导出数据的更多相关文章

  1. 关于Java中excel表格导出的总结(Java程序导出模板和Java根据模板导出表格两种实现方式)

    导出excel通用模板(程序定义模板导出) 转载原文:https://www.jianshu.com/p/5c7b359a159c 如下代码,本方法主要用于程序定义模板格式,并导出文件.该方法将定义和 ...

  2. java实现excel表格导出

    Java 实现导出excel表 POI 1.首先下载poi-3.6-20091214.jar,下载地址如下: http://download.csdn.net/detail/evangel_z/389 ...

  3. Java操作Jxl实现导出数据生成Excel表格数据文件

    实现:前台用的框架是Easyui+Bootstrap结合使用,需要引入相应的Js.Css文件.页面:Jsp.拦截请求:Servlet.逻辑处理:ClassBean.数据库:SQLserver. 注意: ...

  4. java的excel表格的导出与下载

    今天做一个java对excel表格的导出和下载的时候,从网络上搜寻了下载的模板,代码如下: 控制层: @RequestMapping(value = "excelOut_identifier ...

  5. JAVA处理Excel表格数据并写入数据库

    package com.hncj.test; import java.io.FileInputStream; import java.sql.Connection; import java.sql.D ...

  6. 利用Apache POI 实现简单的Excel表格导出

    1.利用POI API实现简单的Excel表格导出 首先假设一个学生实体类: package com.sun.poi.domain; import java.io.Serializable; impo ...

  7. Java读取excel表格

    Java读取excel表格 一般都是用poi技术去读取excel表格的,但是这个技术又是什么呢 什么是Apache POI? Apache POI是一种流行的API,它允许程序员使用Java程序创建, ...

  8. JAVA实现Excel导入/导出【转】

    JAVA实现Excel导入/导出[转] POI的下载与安装 请到网站http://www.apache.org/dyn/closer.cgi/poi/右击超链接2.5.1.zip下载压缩包poi-bi ...

  9. Java操作excel表格

    (1)Java读取excel表格 package com.songyan.excel; import java.io.File; import java.io.FileInputStream; imp ...

随机推荐

  1. SVG实现导航动画

    效果图动画后 html <!DOCTYPE html> <html > <head> <meta charset="UTF-8"> ...

  2. 【转】C#中WinForm程序退出方法技巧总结

    C#中WinForm程序退出方法技巧总结 一.关闭窗体 在c#中退出WinForm程序包括有很多方法,如:this.Close(); Application.Exit();Application.Ex ...

  3. 【html+css】关于页面布局中遇到的问题记录

    关于行内元素: 行内元素设置width无效, height无效(可以设置line-height), margin上下无效,padding上下无效,margin和padding可设置左右.   text ...

  4. Model Validation in ASP.NET Web API

    Model Validation in ASP.NET Web API 原文:http://www.asp.net/web-api/overview/formats-and-model-binding ...

  5. *HDU 1054 二分图

    Strategic Game Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  6. nginx域名隐性(地址栏域名不变)跳转

    1.完全url的域名隐性跳转 server_name a.b.com location / { proxy_pass http://x.y.com; } 效果:浏览器地址栏中输入a.b.com域名不变 ...

  7. lua元表与元方法

    lua中提供的元表(metatable)与元方法(metamethod)是一种非常重要的语法,metatable主要用于做一些类似于C++重载操作符式的功能. lua中提供的元表是用于帮助lua变量完 ...

  8. 【最简单IOC容器实现】实现一个最简单的IOC容器

    前面DebugLZQ的两篇博文: 浅谈IOC--说清楚IOC是什么 IoC Container Benchmark - Performance comparison 在浅谈IOC--说清楚IOC是什么 ...

  9. linux 源码安装详解

    ./configure是用来检测你的安装平台的目标特征的.比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本.make是用来编译的,它从Makefile中读取指令,然后编 ...

  10. HTML:document.activeElement

    今天遇到一个很郁闷的问题: document.activeElement获取当前获得焦点的元素,在chrome总是得到body,后来经过试验得到结果如下: document.activeElement ...