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

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

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

 

复制代码
1
2
3
//导出excel文件 IExcelAPI excelService = new ExcelAPIImpl(); filePath = excelService.genExcelFile(chargeStatDTO.getBetsDataList(),SltDataConstants.SLT_CHARGE_EXCEL_COLUMNS);

 

 

ExcelAPIImpl.java

 

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
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报表文件内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部