导出excel表格

小幸运(●ˇ∀ˇ●) 2011-06-13 10:38:57
我有一个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 无 迟到
...全文
211 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
如果list里面保存的是对象的话就 必须定义一个这种对象从list中取数据
所以就很难搞。。。。。。。。。5555
xuchongya 2011-06-15
  • 打赏
  • 举报
回复
File file = new File("images/Export" + times + ".xls");
// 将数据写入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();
桃园闲人 2011-06-14
  • 打赏
  • 举报
回复
以上代码你也可以把表头以List的方式传入Export类的exportTOExcel,代码仅供参考,可灵活变动。
桃园闲人 2011-06-14
  • 打赏
  • 举报
回复
Export中的代码:
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库
JAVA涨薪基地 2011-06-14
  • 打赏
  • 举报
回复
我也有这样的需求.LZ我跟你一起关注.嘻嘻
桃园闲人 2011-06-14
  • 打赏
  • 举报
回复
servlet中的代码:
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();

xinghen88 2011-06-14
  • 打赏
  • 举报
回复
推荐用jxl,jxl相对于poi来说对中文的支持更好一些
JavaMan_KA 2011-06-14
  • 打赏
  • 举报
回复
用jxl或poi都可以,百度中查去,相关代码太多了,不做详解
UPC_思念 2011-06-13
  • 打赏
  • 举报
回复
用jxl或poi都可以,更多信息请百度
attached 2011-06-13
  • 打赏
  • 举报
回复
你可以选择有apache的poi来导出Excel.
将List中的数据写入Excel中就行.
healer_kx 2011-06-13
  • 打赏
  • 举报
回复
mark。。。
qiuluomuye 2011-06-13
  • 打赏
  • 举报
回复
只用过poi。。。
kunkun39 2011-06-13
  • 打赏
  • 举报
回复
继承spring的AbstractJExcelView,很简单
superjava_2006 2011-06-13
  • 打赏
  • 举报
回复
同意使用JXL或者poi写入excel的回答。我的博客中也有jxl操作excel的例子(包括读取、写入、查询某个关键字等等)。http://blog.csdn.net/superjava_2006/archive/2007/05/15/1609490.aspx
t69lizhen 2011-06-13
  • 打赏
  • 举报
回复
到网上去找例子啊,我之前做过一个,很简单的
shixl258 2011-06-13
  • 打赏
  • 举报
回复
用jxl包。

request.setCharacterEncoding("GBK");
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());

67,516

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧