`

实战查询数据生成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负责...

    java导出大批量(百万以上)数据的excel文件

    在Java开发中,导出大量数据到Excel文件是一项常见的任务,尤其在数据分析、报表生成或者数据备份等场景中。然而,处理百万级别的数据时,传统的直接将所有数据一次性写入Excel文件的方式可能会导致内存消耗过大,...

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

Global site tag (gtag.js) - Google Analytics