我现在数据库的数据时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<ExcelHeader> 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/150
提交
取消