java 高效率导出excel_java apache poi 根据模板导出excel效率问题

我现在数据库的数据时1620条,查询用了400ms左右,但是光是循环读取数据写入excel就用了7000ms左右,实现太慢了,我也想过用多线程的方式,但是多线程处理list循环后会顺序就不是想要的顺序了,希望做过导出excel的大神,可以给我推荐一个按照模板导出excel高效的代码,谢谢。private ExcelTemplate handlerObj2Excel (String template,List objs,Class clz,boolean isClasspath)  {

ExcelTemplate et = ExcelTemplate.getInstance();

try {

if(isClasspath) {

et.readTemplateByClasspath(template);

} else {

et.readTemplateByPath(template);

}

List headers = getHeaderList(clz);

Collections.sort(headers);

//输出标题

et.createNewRow();

for(ExcelHeader eh:headers) {

et.createCell(eh.getTitle());

}

//输出值

long start =  System.currentTimeMillis();

for(Object obj:objs) {

et.createNewRow();

for(ExcelHeader eh:headers) {

et.createCell(BeanUtils.getProperty(obj,getMethodName(eh)));

}

}

//写入序号

et.insertSer();

System.out.println("创建excel耗时间:"+(System.currentTimeMillis() - start));

} catch (IllegalAccessException e) {

e.printStackTrace();

} catch (InvocationTargetException e) {

e.printStackTrace();

} catch (NoSuchMethodException e) {

e.printStackTrace();

}

return et;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值