import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import java.lang.reflect.Method;
public class EduceFile {
/**
* 导出excel 实现通用
*
* @param list
* @param path
* 导出路径
* @param sheetName
* 导出文件名
* @param topNamelist
* 表头
* @param FieldNamelist
* 字段名称
* @return
*/
public boolean writeExcel(List list, String path, String sheetName,
String[] topNamelist, String[] FieldNamelist) {
try {
File fileWrite = new File(path);
fileWrite.createNewFile();
OutputStream os = new FileOutputStream(fileWrite);
WritableWorkbook wwb = Workbook.createWorkbook(os);
WritableSheet ws = wwb.createSheet(sheetName, 0);
// 写入列名称
for (int i = 0; i < topNamelist.length; i++) {
Label label = new Label(i, 0, topNamelist[i].toString());
ws.addCell(label);
}
for (int i = 0; i < list.size(); i++) {
int x = i + 1;
Map map = testReflect(list.get(i));
for (int j = 0; j < FieldNamelist.length; j++) {
if (map.get(FieldNamelist[j]) != null) {
Label labela = new Label(j, x, map
.get(FieldNamelist[j]).toString());
ws.addCell(labela);
} else {
Label labela = new Label(j, x, null);
ws.addCell(labela);
}
}
}
wwb.write();
wwb.close();
os.close();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
/**
* 导出.txt
*
* @param list
* @param path
* @return
*/
public String writeTxt(List<String> list, String path) {
try {
FileWriter fw = new FileWriter(path, true);
PrintWriter pw = new PrintWriter(fw);
for (int i = 0; i < list.size(); i++) {
pw.println(list.get(i));
}
pw.close();
fw.close();
return "true";
} catch (Exception e) {
e.printStackTrace();
return "false";
}
}
public static Map testReflect(Object obj) {
Map hashMap = new HashMap();
try {
Class c = obj.getClass();
Method m[] = c.getDeclaredMethods();
for (int i = 0; i < m.length; i++) {
if (m[i].getName().indexOf("get") == 0) {
hashMap
.put(m[i].getName(), m[i]
.invoke(obj, new Object[0]));
}
}
} catch (Throwable e) {
System.err.println(e);
}
return hashMap;
}
}
分享到:
相关推荐
在给定的"条件导出Excel 工具类.zip"中,我们可以推断这是一个用于处理Excel文件的工具类库,可能包含了多种针对Excel数据导出的条件逻辑。下面将详细讨论与这个主题相关的知识点。 1. **Apache POI库**: 在Java中...
为了方便开发者将程序中的数据快速导出到Excel文件,自定义Excel导出工具类是常见的做法。本篇文章将深入探讨如何利用Java的Apache POI库创建一个能够处理`List<Object>`数据的Excel工具类。 Apache POI是一个流行...
概述:Java poi导入导出EXCEL工具类(兼容各版本) 一、功能说明 允许同时导入或导出多个sheet,同一sheet可同时存在多个数据块,按数据块划分处理数据。 二、配置文件示例及详细说明 1、导入xml配置示例如下(见...
SpringBoot框架结合Excel工具类,可以方便地实现从数据库中获取数据并导出为Excel文件,便于用户查看、分析或者进一步处理。这个"Excel工具类.zip"文件包含了一个完整的解决方案,用于在本地和服务器环境中导出Excel...
java使用POI导出 Excel+图片工具类 ,里面含有poi jar包,只调用接口即可直接保存Excel。使用的时候需先把数据封装,具体包装需根据实际导出数据进行处理。文件demo中只提供包装格式。
在本压缩包"excel导入导出(poi工具类).zip"中,我们可以预见到包含了一个或多个Java工具类,这些类可能封装了使用Apache POI进行Excel文件导入和导出的功能。接下来,我们将详细探讨Apache POI库以及如何利用它来...
"基于POI的Excel多Sheet页导出导入工具类"是一个实用的Java类库,专为处理Excel文件中的多个工作表(Sheet)而设计,提供了一种高效且灵活的方式来操作Excel数据。 该工具类的核心功能包括: 1. **多Sheet页操作**...
在IT行业中,导出Excel工具类是...综上所述,导出Excel工具类是一个强大且实用的功能,它涉及到文件操作、数据格式化、性能优化等多个方面。理解和掌握这些知识点,可以帮助我们在实际项目中更高效地处理数据导出任务。
封装好的工具类,传入list ,type(0 excel,1 word ,2 pdf) 导出相应的文件
这样的工具类使得在项目中导入导出Excel变得简单易行,只需调用相应的静态方法即可完成大部分工作。 在实际应用中,还可能需要处理其他细节,比如数据类型转换、样式设置、日期格式化、合并单元格等。同时,考虑到...
本篇文章将深入探讨“C#通用Excel导入导出工具类”的实现原理及应用,主要涉及的技术点包括反射、特性以及如何创建一个高效的Excel导入导出解决方案。 首先,我们要理解反射在C#中的作用。反射是一种强大的机制,它...
2. **模板设计**:工具类可能包含预设的模板,允许用户快速选择合适的样式和布局,如标题、边框、填充色、字体等,以提升导出文件的专业性。 3. **数据写入**:根据输入的数据源,将数据写入到Excel工作表中。这...
这里我们将深入探讨如何使用Java实现XML到Excel的转换以及如何创建一个通用的Excel导出工具类。首先,我们需要理解XML和Excel两种文件格式的基本概念。 XML(Extensible Markup Language)是一种用于存储和传输数据...
对于Eclipse用户,可以搜索相关的插件集成到开发环境中,或者单独使用命令行工具配合版本控制系统(如Git)来管理和同步`String.xml`与Excel文件。 总的来说,`android String.xml Excel 相互转换工具`是Android...
"ExcelUtil.txt"很可能是一个工具类或者库的文档,提供了操作Excel文件的函数,如读取、写入、格式化等。这样的工具在处理Excel时能大大提高开发效率。优化ExcelUtil可能包括减少内存消耗,支持更多Excel版本,或者...
从提供的文件列表来看,`Test.java`可能是用于测试工具功能的代码,`ExcelHandle.java`可能是处理Excel读写的核心类,而`entity`可能包含了一些数据结构定义,比如表示`String.xml`文件元素或Excel表格行的类。...
以上介绍的两个工具类提供了基本的 Excel 操作功能,可以方便地创建、管理和保存 Excel 文件及其内容。对于实际项目开发而言,这些工具类可以极大地简化与 Excel 文件相关的开发工作。当然,在实际应用中可能还需要...
本资源提供了一个使用Java语言结合jxl库实现的工具类,它简化了Excel文件的读写操作,并且允许对单元格样式进行自定义设置。下面我们将详细探讨相关的知识点。 1. **Java与Excel交互**: - Java通过第三方库如...
这个"导出EXCEL工具类"显然提供了一个功能,允许开发者从数据库中获取数据并将其格式化为Excel文件。下面我们将深入探讨如何在Java中实现这样的功能,以及涉及到的关键知识点。 首先,我们需要了解Java中处理Excel...