`

实战查询数据生成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;
	}

 

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

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

1
1
分享到:
评论

相关推荐

    使用jxls轻松制作excel报表

    在IT行业中,生成和处理...总之,jxls是一个非常实用的工具,能够简化Java开发者在生成Excel报表时的工作。通过学习和实践,我们可以利用其强大的功能来提高工作效率,减少代码量,同时保持Excel报表的灵活性和美观性。

    Excel VAB编程实战宝典

    **Excel VBA编程实战宝典** 本书是一本专为初学者设计的VBA(Visual Basic for Applications)编程指南,旨在帮助读者快速掌握Excel中的VBA编程技能,通过实践案例提升编程能力。VBA是Microsoft Office套件中的一种...

    Excel实战技巧精粹:Excel模板1000例

    《Excel实战技巧精粹:Excel模板1000例》是一部深入探讨Excel应用的宝典,旨在提升用户在日常工作中处理数据、分析信息和优化工作效率的能力。这本书包含了丰富的实例和实用模板,覆盖了从基础操作到高级技巧的全...

    Python自动化生成Excel数据报表-pandas&xlwings&matplotlib.zip

    你将学会如何抓取网页数据、分析数据、构建机器学习模型,以及开发实用的Web应用等。每个案例都配备了详细的步骤和代码解释,让你在实战中不断成长,逐步掌握Python编程的精髓。 不仅如此,这份资源还注重培养你的...

    SQL Server 2008 商业智能与实战\快速入门 之六 使用Excel创建随心所欲报表

    在创建数据透视图时,Excel会自动基于已创建的数据透视表生成图表。选择合适的图表类型,如柱状图、折线图或饼图,可以更直观地展示数据的分布和变化。 编辑报表的环节,允许我们进一步定制和优化报表的外观和内容...

    原创!html页面上的table导出为excel,项目实战代码,实际项目经验,绝对可用!

    - **生成Excel文件**:Java有许多库可以用来生成Excel文件,如Apache POI。开发者需要使用这些库创建`HSSFWorkbook`或`XSSFWorkbook`对象,并填充数据。 - **响应设置**:控制器需要设置合适的HTTP响应头,比如`...

    基于SSM的POI导入导出Excel实战

    导出功能则需要根据查询条件动态生成Excel,这可能涉及到复杂的数据筛选和排序。 在Excel-MVC模式中,"Mvc"通常指的是SpringMVC框架,它负责接收请求、调用业务逻辑并返回响应。在Excel导入导出中,Controller负责...

    《Excel实战技巧精粹》技巧实例.rar

    《Excel实战技巧精粹》是一本深度探讨Excel应用的书籍,涵盖了从基础功能到高级数据分析,以及VBA编程实例的广泛内容。以下是基于标题、描述和标签所涉及的知识点的详细解析: 一、Excel基本功能 Excel作为一款强大...

    EXCEL快速导入导出(增加数据库直接导出及2007文件格式支持).zip

    在实际开发中,Excel的导入导出功能可以应用于报表生成、数据分析、数据备份等多个场景。例如,可以将数据库中的销售记录导出为Excel,便于财务人员进行统计分析;也可以将用户填写的Excel表单数据导入系统,实现...

    NPOI对word和excel文件的输出(全套资料)

    NPOI支持利用模板填充数据,这对于批量生成报告或者自定义格式的文件非常有用。你可以在模板文件中设定占位符,然后用实际数据替换它们。 7. **性能优化** NPOI提供了流式API,允许在处理大型文件时避免内存溢出...

    超简单实用的PULL方式水晶报表教程

    2. 设计查询:编写SQL查询语句或者使用水晶报表的查询向导来选择需要的数据字段。 3. 创建报表布局:在水晶报表设计界面中,设置报表的样式、字段布局和分组规则。 4. 动态数据检索:当用户请求报表时,水晶报表引擎...

    asp.net 转换Access数据库为Excel文件源码

    总结来说,"asp.net 转换Access数据库为Excel文件源码"是一个关于ASP.NET数据操作和文件生成的实战案例,涵盖了数据库连接、查询、数据处理以及Excel文件操作等多个技术点。对于想要提升这方面技能的开发者,这是一...

    水晶报表10中文手册

    它支持多种数据源类型,包括数据库、XML文件、Excel表格等,可以生成各种格式的报表,如HTML、PDF、Excel、CSV等。 ### 2. 报表设计 报表设计是水晶报表的核心部分。通过直观的拖放界面,用户可以轻松添加字段、...

    Java中的数据导出excel

    在Java编程领域,数据导出到Excel是一种常见的需求,尤其在数据分析、报表生成或数据交换等场景中。本文将深入探讨如何使用Java实现这一功能,包括核心概念、关键技术和实战示例。 首先,我们需要理解Excel文件的...

    开源报表BIRT开发手册

    使用数据集向导来创建SQL查询或自定义数据提取逻辑,定义报表所需的数据字段。 4. **网格报表** - **创建数据源和数据集**:为报表创建新的数据源和数据集。 - **布局和格式化**:将数据集绑定到报表表格,调整...

    PHP实例开发源码—PHP+excel通用成绩查询系统 SAE版.zip

    1. PHP:作为服务器端脚本语言,负责处理请求、解析Excel文件、查询数据并生成响应。 2. Excel文件处理:使用PHPExcel库,能够读取xls/xlsx格式的文件,获取成绩数据。 3. 数据库支持:虽然描述中未提及,但通常这类...

    01_Python3处理Excel文件.zip

    "Python3处理Excel文件"这一主题是Python编程中的重要知识点,它涉及到如何使用Python读取、写入和操作Excel文件,这对于数据分析、数据清洗以及报表生成等工作至关重要。在本项目实战中,我们将探讨如何使用Python...

    Excel单元格操作易语言源码

    在IT领域,尤其是在编程实践中,Excel单元格操作是一项常见的任务,尤其在数据分析、报表生成以及自动化处理中。易语言作为一款中国本土开发的高级编程语言,以其简洁的语法和丰富的库支持,使得开发者能轻松地进行...

    Excel函数应用完全手册+EXCEL速查手册+Excel函数应用500例

    《EXCEL速查手册》则更像是一个快速查询的工具,它以.chm文件的格式提供,让使用者能够通过关键词搜索或者目录浏览的方式快速找到需要的函数或功能。这种格式的速查手册非常适合那些对Excel有基本了解,但需要在日常...

Global site tag (gtag.js) - Google Analytics