参见如下代码,后面会慢慢整理该文章。
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;
}
以上的代码不是很难理解,所以没有做过多的解释。
大家有什么问题请提出来交流交流。
分享到:
相关推荐
在IT行业中,生成和处理...总之,jxls是一个非常实用的工具,能够简化Java开发者在生成Excel报表时的工作。通过学习和实践,我们可以利用其强大的功能来提高工作效率,减少代码量,同时保持Excel报表的灵活性和美观性。
**Excel VBA编程实战宝典** 本书是一本专为初学者设计的VBA(Visual Basic for Applications)编程指南,旨在帮助读者快速掌握Excel中的VBA编程技能,通过实践案例提升编程能力。VBA是Microsoft Office套件中的一种...
《Excel实战技巧精粹:Excel模板1000例》是一部深入探讨Excel应用的宝典,旨在提升用户在日常工作中处理数据、分析信息和优化工作效率的能力。这本书包含了丰富的实例和实用模板,覆盖了从基础操作到高级技巧的全...
你将学会如何抓取网页数据、分析数据、构建机器学习模型,以及开发实用的Web应用等。每个案例都配备了详细的步骤和代码解释,让你在实战中不断成长,逐步掌握Python编程的精髓。 不仅如此,这份资源还注重培养你的...
在创建数据透视图时,Excel会自动基于已创建的数据透视表生成图表。选择合适的图表类型,如柱状图、折线图或饼图,可以更直观地展示数据的分布和变化。 编辑报表的环节,允许我们进一步定制和优化报表的外观和内容...
- **生成Excel文件**:Java有许多库可以用来生成Excel文件,如Apache POI。开发者需要使用这些库创建`HSSFWorkbook`或`XSSFWorkbook`对象,并填充数据。 - **响应设置**:控制器需要设置合适的HTTP响应头,比如`...
导出功能则需要根据查询条件动态生成Excel,这可能涉及到复杂的数据筛选和排序。 在Excel-MVC模式中,"Mvc"通常指的是SpringMVC框架,它负责接收请求、调用业务逻辑并返回响应。在Excel导入导出中,Controller负责...
在Java开发中,导出大量数据到Excel文件是一项常见的任务,尤其在数据分析、报表生成或者数据备份等场景中。然而,处理百万级别的数据时,传统的直接将所有数据一次性写入Excel文件的方式可能会导致内存消耗过大,...
《Excel实战技巧精粹》是一本深度探讨Excel应用的书籍,涵盖了从基础功能到高级数据分析,以及VBA编程实例的广泛内容。以下是基于标题、描述和标签所涉及的知识点的详细解析: 一、Excel基本功能 Excel作为一款强大...
在实际开发中,Excel的导入导出功能可以应用于报表生成、数据分析、数据备份等多个场景。例如,可以将数据库中的销售记录导出为Excel,便于财务人员进行统计分析;也可以将用户填写的Excel表单数据导入系统,实现...
NPOI支持利用模板填充数据,这对于批量生成报告或者自定义格式的文件非常有用。你可以在模板文件中设定占位符,然后用实际数据替换它们。 7. **性能优化** NPOI提供了流式API,允许在处理大型文件时避免内存溢出...
2. 设计查询:编写SQL查询语句或者使用水晶报表的查询向导来选择需要的数据字段。 3. 创建报表布局:在水晶报表设计界面中,设置报表的样式、字段布局和分组规则。 4. 动态数据检索:当用户请求报表时,水晶报表引擎...
总结来说,"asp.net 转换Access数据库为Excel文件源码"是一个关于ASP.NET数据操作和文件生成的实战案例,涵盖了数据库连接、查询、数据处理以及Excel文件操作等多个技术点。对于想要提升这方面技能的开发者,这是一...
它支持多种数据源类型,包括数据库、XML文件、Excel表格等,可以生成各种格式的报表,如HTML、PDF、Excel、CSV等。 ### 2. 报表设计 报表设计是水晶报表的核心部分。通过直观的拖放界面,用户可以轻松添加字段、...
在Java编程领域,数据导出到Excel是一种常见的需求,尤其在数据分析、报表生成或数据交换等场景中。本文将深入探讨如何使用Java实现这一功能,包括核心概念、关键技术和实战示例。 首先,我们需要理解Excel文件的...
使用数据集向导来创建SQL查询或自定义数据提取逻辑,定义报表所需的数据字段。 4. **网格报表** - **创建数据源和数据集**:为报表创建新的数据源和数据集。 - **布局和格式化**:将数据集绑定到报表表格,调整...
1. PHP:作为服务器端脚本语言,负责处理请求、解析Excel文件、查询数据并生成响应。 2. Excel文件处理:使用PHPExcel库,能够读取xls/xlsx格式的文件,获取成绩数据。 3. 数据库支持:虽然描述中未提及,但通常这类...
"Python3处理Excel文件"这一主题是Python编程中的重要知识点,它涉及到如何使用Python读取、写入和操作Excel文件,这对于数据分析、数据清洗以及报表生成等工作至关重要。在本项目实战中,我们将探讨如何使用Python...
在IT领域,尤其是在编程实践中,Excel单元格操作是一项常见的任务,尤其在数据分析、报表生成以及自动化处理中。易语言作为一款中国本土开发的高级编程语言,以其简洁的语法和丰富的库支持,使得开发者能轻松地进行...