项目中经常要将数据导出到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;
}
}
分享到:
相关推荐
标题“poi导出excel通用类”指的是使用Apache POI库创建一个可以用于导出Excel文件的Java类。Apache POI是开源项目,提供了一组API,使得开发者可以在Java应用程序中读写Microsoft Office格式的文件,包括Excel。在...
自己写的,将多种数据类型按照指定格式导出到excel文件里。方便实用。
在Java编程中,将List集合数据导出到Excel表格是一个常见的需求,特别是在数据分析、报表生成或数据导出等场景。本实例提供了一个通用工具类,能够处理多种不同类型的对象集合,实现了最大化的通用性,使得开发者...
本通用类专为在Spring MVC环境下导出数据到Excel而设计,其核心在于将业务数据转换为Excel格式,方便用户下载和查看。 首先,我们要了解这个通用类的基本原理。它通常会使用Apache POI库,这是一个强大的API,允许...
本篇文章将深入探讨“C#通用Excel导入导出工具类”的实现原理及应用,主要涉及的技术点包括反射、特性以及如何创建一个高效的Excel导入导出解决方案。 首先,我们要理解反射在C#中的作用。反射是一种强大的机制,它...
在.NET开发中,导出Excel是一项常见的需求,特别是在Web应用程序如ASP.NET中,我们需要将数据库中的数据导出为用户友好的格式,Excel是最常见的选择。本文将深入探讨如何使用C#编程实现从数据库中读取数据并将其导出...
"java导出excel文档通用工具类"正是这样一个工具,它允许我们灵活地生成包含表头的Excel文件,提高开发效率。 Java中导出Excel主要依赖于Apache POI库,这是一个用于读写Microsoft Office格式档案的Java API。...
"c# 按模板导出Excel 通用类"就是为了解决这个问题而设计的,它允许开发者按照预先设定的模板快速、高效地生成Excel文件。 这个通用类的核心功能包括: 1. **模板支持**:它可以读取已存在的Excel模板文件,保留...
java使用POI导出 Excel+图片工具类 ,里面含有poi jar包,只调用接口即可直接保存Excel。使用的时候需先把数据封装,具体包装需根据实际导出数据进行处理。文件demo中只提供包装格式。
本知识点将详细介绍如何实现GridControl通用导出Excel功能,尤其是支持多个控件如GridControl、Chart、PivotGrid等同时导出到同一个Excel工作表中。 #### 二、导出Excel方法详解 ##### 1. 方法签名 ```csharp ...
总的来说,"Excel通用导出excel文件"不仅涉及到基础的文件操作,还包括高级的数据导入、自动化、数据清洗和安全管理等多个方面。掌握这些技能,可以帮助你在日常工作中更加高效地管理和导出Excel数据。
利用POI实现Java导出Excel表格,为了实现以后通用,做成了一个利用Java的反射机制做成的万金油式工具类,只需要给工具类传入固定的几个参数(映射字段的map集合,数据集合,实体类的Claas等),就可以实现导出Excel,该...
标题中的“导出到Excel很快的类”暗示了这是一个关于快速将数据导出到Microsoft Excel的编程解决方案。在描述中提到的“三个单元”,可能是三个不同的源代码文件,每个文件实现了一种不同的导出方法,且都已经通过了...
该资源提供关于DevExpress Winform 的所有可打印控件的导出excel 的通用方法,解决GridControl自带方法不能导出图片,多表头无法导出等问题,解决PivotGridControl导出时候自动分组的问题,真正做到所见所得的导出...
《通用数据导出到Excel——基于NPOI的实现》 在现代的信息化管理中,数据的导出和分析是一项至关重要的任务。特别是在企业级应用中,为了方便数据分析和报表生成,经常需要将数据库中的数据导出为Excel格式。本文将...
有时,用户可能需要将这些历史数据导出到更通用的格式,如Excel CSV文件,以便进行进一步的数据分析和处理。下面,我们将详细介绍如何实现这个过程。 首先,理解WinCC的数据归档系统。WinCC的归档功能允许用户定义...
因为如此,Java 软件也应该提供通用的剪贴板功能,例如在 JTable 和 Excel 间复制和粘贴。本文展示了如何使用系统粘贴板在 Java 程序和 Excel 间复制数据。使用这一 Java 技巧中提供的适配器类,只需一行代码即可...
delphi 导出数据到EXCEL 将文件复制到项目下,就可以调用了。 只要准备好数据集就行。 EXCLE的模板文件可有可无。
总结,"poi导入导出Excel通用工具类 兼容xls,xlsx"这个工具实现了利用Apache POI库处理Excel文件的功能,涵盖了从旧版的.xls到新版的.xlsx格式,提供了方便的导入和导出接口,使得在Java开发中处理Excel数据变得...
。net通用导入导出 excel 类,返回datatable