我有一个List里面保存的是对象如何用excel表格导出
要求:
id_u name_u onworktime upworktime result_u other
9 jack 2007-11-2 2007-11-2 无 迟到
10 jack 2007-11-2 2007-11-2 无 迟到
11 jack 2007-11-2 2007-11-2 无 迟到
要求:
id_u name_u onworktime upworktime result_u other
9 jack 2007-11-2 2007-11-2 无 迟到
10 jack 2007-11-2 2007-11-2 无 迟到
11 jack 2007-11-2 2007-11-2 无 迟到
解决方案 »
- @Transactional注解事物的问题,加急求解
- JAVA怎样连接sql2008 Windows 身份验证模式
- struts2 拦截器问题
- Hibernate 复合主键的问题
- java添加水晶报表
- 如何在容器外调用Tomcat的JDNI资源
- 学完JSP后,升级到XML呢,还是Struts?
- 关于tomcat连接池的JavaBeans问题!
- 请各位学过或正在学或了解或精通SOAP的大人们进来看看
- 已有数年Java开发经验者,平时开发需要从Sample/Demo里用现成代码?还是已经熟记熟背、信手拈来?
- 求 eclipse 一功能 快捷键
- 面试问题:举个实际例子说明swtich…case的用法和使用约束?
将List中的数据写入Excel中就行.
response.reset();
response.setContentType("application/vnd.ms-excel");
/******** begin (表头)循环 **************/
final int CONST_COL_NUM = 5;
String[] title = new String[CONST_COL_NUM];
title[0] = "id_u name_u";
title[1] = "onworktime ";
title[2] = "upworktime ";
title[3] = "result_u other";
title[4] = "name_u";
/******** end (表头)循环 **************/
java.util.ArrayList list = new java.util.ArrayList();
int i=0;
if (你的结果集!=null)
while (你的结果集.next() ) {
i++;
/******** begin 循环 **************/
String[] data = new String[CONST_COL_NUM];
data[0] = id_u name_u;
data[1] = onworktime;
data[2] = upworktime;
data[3] = result_u other;
data[4] = name_u;
list.add(data.clone());
/******** end 循环 **************/
}// end while
GenExcel excel = new GenExcel();
excel.getExcel("文件名", list, title, response.getOutputStream());
http://blog.csdn.net/xieshengjun2009/archive/2011/02/28/6213529.aspx
response.setContentType("application/msexcel");
File file = new File(String.valueOf(System.currentTimeMillis()+".xls"));
String filename = "持续集成.xls";
response.setContentType("application/msexcel");
export.exportTOExcel(file,dataList);
response.addHeader("Content-Disposition", "attachment;filename="
+new String(filename.getBytes("GBK"),"ISO-8859-1"));
OutputStream out = response.getOutputStream();
byte[] buf = new byte[8092];
int size = 0;
FileInputStream input = new FileInputStream(file);
while((size=input.read(buf))!=-1){
out.write(buf, 0, size);
}
input.close();
out.close();
package com.huawei.idc.util;import java.io.File;
import java.util.List;import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;public class Export {
public void exportTOExcel(File file,List<DataVO> dataList)
{
try
{
WritableWorkbook workbook = Workbook.createWorkbook(file);
WritableSheet excelsheet = workbook.createSheet("持续集成", 0);
Label label0 = null;
Label label1 = null;
Label label2 = null;
Label label3 = null;
Label label4 = null;
Label label5 = null;
Label label6 = null;
try
{
label0 = new Label(0, 0, "时间");
excelsheet.addCell(label0);
label1 = new Label(1, 0, "构建成功率");
excelsheet.addCell(label1);
label2 = new Label(2, 0, "每日可用度");
excelsheet.addCell(label2);
label4 = new Label(4, 0, "平均失败恢复时长");
label5 = new Label(5, 0, "check in次数");
excelsheet.addCell(label4);
excelsheet.addCell(label5);
label6 = new Label(6, 0, "自动化测试用例纳入CI比例 ");
excelsheet.addCell(label6);
}catch(Exception e)
{e.printStackTrace();}
for(int i = 0; i < dataList.size(); i++)
{
DataVO dvo = dataList.get(i);
try
{
label0 = new Label(0, i+1, dvo.getDate());
excelsheet.addCell(label0);
label1 = new Label(1, i+1, dvo.getBuild_suc_percent());
excelsheet.addCell(label1);
label2 = new Label(2, i+1, dvo.getDaily_usableness());
excelsheet.addCell(label2);
label3 = new Label(3, i+1, String.valueOf(dvo.getBuild_time()));
excelsheet.addCell(label3);
label4 = new Label(4, i+1, String.valueOf(dvo.getResume_timeslice()));
excelsheet.addCell(label4);
label5 = new Label(5, i+1, String.valueOf(dvo.getCheckIn_times()));
excelsheet.addCell(label5);
label6 = new Label(6, i+1, dvo.getAtuoText_bringInto_ci());
excelsheet.addCell(label6);
}catch(Exception e)
{e.printStackTrace();}
}
workbook.write();
workbook.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
需要引入jxl.jar库
// 将数据写入excel文档
jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(file);// 存放路径
jxl.write.WritableSheet ws = wwb.createSheet("Di值各组显示", 10);// 创建excel文档
ws.addCell(new jxl.write.Label(0, 1, "责任人项目组"));// 字段
ws.addCell(new jxl.write.Label(1, 1, "汇总"));
for (int k = 0; k < resultList.size(); k++) {// 循环写入
Result r = (Result) resultList.get(k);
ws.addCell(new jxl.write.Label(0, k + 2, "" + r.getName()));
ws.addCell(new jxl.write.Label(1, k + 2, "" + r.getDi()));
}
wwb.write();
// 关闭Excel工作薄对象
wwb.close();
所以就很难搞5555