`
heyugui
  • 浏览: 29734 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

导出到Excel通用类

阅读更多

项目中经常要将数据导出到excel,于是我做了一个通用的类,发出来共享一下,大家用得上的话就好。

 

这个是通用的类代码:

参数1:标题列的数组

参数2:一个集合,也就是你所要导出的内容

参数3:要导出数据的原型实体类

package com.origin.util;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

public class ExportExcel<T> {
	
	/**
	 * 导出到Excel方法
	 * @param title String[] 标题数组
	 * @param list 需要导出的数据
	 * @param model 
	 */
	public InputStream execute(String[] title,List<T> list,Object model){
		HSSFWorkbook wk=new HSSFWorkbook();
		HSSFSheet sheet=wk.createSheet("sheet1");
		
		HSSFRow row=sheet.createRow(0);
		
		HSSFCell cell;
		
		for(int i=0;i<title.length;i++){
			cell=row.createCell((short)i);
			cell.setCellValue(new HSSFRichTextString(title[i]));
		}
		
		for (int i = 0; i < list.size(); ++i)
		{
			model=list.get(i);
			row=sheet.createRow(i+1);
			Method[] method = model.getClass().getMethods();
			int num=0;
			for(int j=0;j<method.length;j++){			
				if(method[j].getName().substring(0, 3).equals("get") && method[j].getName()!="getClass"){
					Method m;
					try {
						m = model.getClass().getMethod(method[j].getName());
						Object result = m.invoke(model);
						cell=row.createCell((short)num++);
						if(result!=null){
							cell.setCellValue(new HSSFRichTextString(result.toString()));
						}else
						{
							cell.setCellValue(new HSSFRichTextString("-"));
						}
					} catch (SecurityException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					} catch (NoSuchMethodException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					} catch (IllegalArgumentException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					} catch (IllegalAccessException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					} catch (InvocationTargetException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					
				}
			}
			
		}
		ByteArrayOutputStream os=new ByteArrayOutputStream();
		
		try {
			wk.write(os);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		byte[] content=os.toByteArray();
		
		InputStream is=new ByteArrayInputStream(content);
		try {
			os.flush();
			os.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return is;
		
	}
}

 

分享到:
评论
1 楼 suifeng 2009-05-07  
呵呵, 很好哦!
我写了个 导入的
http://pipe-line.iteye.com/blog/326172
现在也在构想导出怎么弄啦

相关推荐

    poi导出excel通用类

    标题“poi导出excel通用类”指的是使用Apache POI库创建一个可以用于导出Excel文件的Java类。Apache POI是开源项目,提供了一组API,使得开发者可以在Java应用程序中读写Microsoft Office格式的文件,包括Excel。在...

    java导出数据到excel通用类

    自己写的,将多种数据类型按照指定格式导出到excel文件里。方便实用。

    java中,list集合数据导出到excel表格通用工具类

    在Java编程中,将List集合数据导出到Excel表格是一个常见的需求,特别是在数据分析、报表生成或数据导出等场景。本实例提供了一个通用工具类,能够处理多种不同类型的对象集合,实现了最大化的通用性,使得开发者...

    Java导出数据到Excel通用类,有使用范例,非常详细一看即明

    本通用类专为在Spring MVC环境下导出数据到Excel而设计,其核心在于将业务数据转换为Excel格式,方便用户下载和查看。 首先,我们要了解这个通用类的基本原理。它通常会使用Apache POI库,这是一个强大的API,允许...

    C#通用Excel导入导出工具类

    本篇文章将深入探讨“C#通用Excel导入导出工具类”的实现原理及应用,主要涉及的技术点包括反射、特性以及如何创建一个高效的Excel导入导出解决方案。 首先,我们要理解反射在C#中的作用。反射是一种强大的机制,它...

    .net导出excel通用方法

    在.NET开发中,导出Excel是一项常见的需求,特别是在Web应用程序如ASP.NET中,我们需要将数据库中的数据导出为用户友好的格式,Excel是最常见的选择。本文将深入探讨如何使用C#编程实现从数据库中读取数据并将其导出...

    java导出excel文档通用工具类

    "java导出excel文档通用工具类"正是这样一个工具,它允许我们灵活地生成包含表头的Excel文件,提高开发效率。 Java中导出Excel主要依赖于Apache POI库,这是一个用于读写Microsoft Office格式档案的Java API。...

    c# 按模板导出Excel 通用类

    "c# 按模板导出Excel 通用类"就是为了解决这个问题而设计的,它允许开发者按照预先设定的模板快速、高效地生成Excel文件。 这个通用类的核心功能包括: 1. **模板支持**:它可以读取已存在的Excel模板文件,保留...

    java使用POI导出 Excel工具类

    java使用POI导出 Excel+图片工具类 ,里面含有poi jar包,只调用接口即可直接保存Excel。使用的时候需先把数据封装,具体包装需根据实际导出数据进行处理。文件demo中只提供包装格式。

    GridControl通用导出Excel

    本知识点将详细介绍如何实现GridControl通用导出Excel功能,尤其是支持多个控件如GridControl、Chart、PivotGrid等同时导出到同一个Excel工作表中。 #### 二、导出Excel方法详解 ##### 1. 方法签名 ```csharp ...

    Excel通用导出excel文件

    总的来说,"Excel通用导出excel文件"不仅涉及到基础的文件操作,还包括高级的数据导入、自动化、数据清洗和安全管理等多个方面。掌握这些技能,可以帮助你在日常工作中更加高效地管理和导出Excel数据。

    POI导出Excel表格通用工具类

    利用POI实现Java导出Excel表格,为了实现以后通用,做成了一个利用Java的反射机制做成的万金油式工具类,只需要给工具类传入固定的几个参数(映射字段的map集合,数据集合,实体类的Claas等),就可以实现导出Excel,该...

    导出到excel很快的类

    标题中的“导出到Excel很快的类”暗示了这是一个关于快速将数据导出到Microsoft Excel的编程解决方案。在描述中提到的“三个单元”,可能是三个不同的源代码文件,每个文件实现了一种不同的导出方法,且都已经通过了...

    DevExpress 控件导出Excel通用方法(GridControl打印多表头和图片等,并支持多个控件同时打印)

    该资源提供关于DevExpress Winform 的所有可打印控件的导出excel 的通用方法,解决GridControl自带方法不能导出图片,多表头无法导出等问题,解决PivotGridControl导出时候自动分组的问题,真正做到所见所得的导出...

    通用导出数据到Excel

    《通用数据导出到Excel——基于NPOI的实现》 在现代的信息化管理中,数据的导出和分析是一项至关重要的任务。特别是在企业级应用中,为了方便数据分析和报表生成,经常需要将数据库中的数据导出为Excel格式。本文将...

    如何将WinCC归档的历史数据导出到EXCEL CSV文件.zip

    有时,用户可能需要将这些历史数据导出到更通用的格式,如Excel CSV文件,以便进行进一步的数据分析和处理。下面,我们将详细介绍如何实现这个过程。 首先,理解WinCC的数据归档系统。WinCC的归档功能允许用户定义...

    Jtable导出到excel

    因为如此,Java 软件也应该提供通用的剪贴板功能,例如在 JTable 和 Excel 间复制和粘贴。本文展示了如何使用系统粘贴板在 Java 程序和 Excel 间复制数据。使用这一 Java 技巧中提供的适配器类,只需一行代码即可...

    delphi 导出数据到EXCEL通用文件

    delphi 导出数据到EXCEL 将文件复制到项目下,就可以调用了。 只要准备好数据集就行。 EXCLE的模板文件可有可无。

    poi导入导出Excel通用工具类 兼容xls,xlsx

    总结,"poi导入导出Excel通用工具类 兼容xls,xlsx"这个工具实现了利用Apache POI库处理Excel文件的功能,涵盖了从旧版的.xls到新版的.xlsx格式,提供了方便的导入和导出接口,使得在Java开发中处理Excel数据变得...

    通用导入导出excel 类

    。net通用导入导出 excel 类,返回datatable

Global site tag (gtag.js) - Google Analytics