我是靠谱客的博主 灵巧白猫,最近开发中收集的这篇文章主要介绍实战查询数据生成excel报表文件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

参见如下代码,后面会慢慢整理该文章。

chargeStatDTO.getBetsDataList() : 数据库中查询得到的数据(可以根据自己的需求修改)

 

//导出excel文件
IExcelAPI excelService = new ExcelAPIImpl();
filePath = excelService.genExcelFile(chargeStatDTO.getBetsDataList(),SltDataConstants.SLT_CHARGE_EXCEL_COLUMNS);

 

 

ExcelAPIImpl.java

 

public String genExcelFile(List chargeDataList,int columns) throws BizException{
if(chargeDataList == null || chargeDataList.isEmpty()){
throw new BizException("## 生成excel文件异常: 无符合条件的记录");
}
// 初始化EXCEL文件表格
String[][] content = null; // 保存查询出的结果,以便生成EXCEL文件
String fileName = null; // 文件名
SltUserCharge sltUserCharge = null;
int rows = chargeDataList.size() + 1;
logger.info("** 记录数: " + rows);
content = new String[rows][columns];
content[0][0] = "用户ID";
content[0][1] = "所属渠道";
content[0][2] = "所属中心";
content[0][3] = "累计充值金额";
int i = 1;
for(Iterator it = chargeDataList.iterator();it.hasNext();) {
sltUserCharge = (SltUserCharge) it.next();
content[i][0] = String.valueOf(sltUserCharge.getUserid().longValue());
content[i][1] = sltUserCharge.getChannelName();
content[i][2] = sltUserCharge.getCenterName();
content[i][3] = String.valueOf(sltUserCharge.getTotalChargeMoney().doubleValue());
i++;
}
// excel文件存放地址
fileName = SltDataConstants.EXCEL_FILE_ADDR;
// 生成EXCEL文件
String now = sdf.format(new Date());
//String time = now.substring(0, 8);
String filePath = null;
if (content != null && fileName != null) {
ExcelProcessor excel = ExcelProcessor.getInstance();
if (content.length <= EXCEL_MAX_ROW) {
filePath = fileName + now + ".xls";
logger.info("EXCEL文件路径:" + filePath);
if(!excel.write2Excel(filePath, content)) {
logger.error("生成EXCEL文件失败(" + sdf.format(now) + "):" + filePath);
}
}else {
int size = content.length;
int archives = size / EXCEL_MAX_ROW;
int start = 1;
int end = 1;
for (int j = 0; j <= archives; j++) {
int num = j + 1;
filePath = fileName + now + "_" + num + ".xls";
logger.info("EXCEL文件路径:" + filePath);
start = end;
end = start + (EXCEL_MAX_ROW - 1);
if (end >= size) {
end = size;
}
if (!excel.write2Excel(filePath, content, start, end)) {
logger.error("生成EXCEL文件失败(" + sdf.format(now) + "):" + filePath);
}
}
}
}
logger.info("** [成功生成excel!]");
String fileRS = filePath.replaceAll(SltDataConstants.FILE_DIR_ADDR, "");
logger.info("** filePath = " + fileRS);
return fileRS;
}

 

 以上的代码不是很难理解,所以没有做过多的解释。

 大家有什么问题请提出来交流交流。

最后

以上就是灵巧白猫为你收集整理的实战查询数据生成excel报表文件的全部内容,希望文章能够帮你解决实战查询数据生成excel报表文件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部