`
爱琴海的水手
  • 浏览: 58208 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java 导出excel的两种方法实现

    博客分类:
  • java
阅读更多
偶将最近写了两个导出excel的方法,第一个是面向过程的思路,就是在指定的单元格写入指定的值,如下:
/**
*负责数据导入到EXCEL
*
* @param realPath
* EXCEL表格存放的绝对路径
* @param sheetname
*
* @param xLocation
* EXCEL表格的行索引,从1开始
* @param yLocation
* EXCEL表格的列索引,从1开始
* @param value
* 需要导入的数据
*
*/
public void modifyExcel(String realPath,String sheetname,int xLocaion,int yLocation,String value){
POIFSFileSystem fs=null;
HSSFWorkbook wb=null;
try {
File file=new File(realPath);
if(file.exists()){
fs = new POIFSFileSystem(new FileInputStream(realPath));
wb=new HSSFWorkbook(fs);
HSSFSheet s=wb.getSheetAt(0);
//函数处理时横纵坐标从索引0开始
HSSFRow row=s.getRow(xLocaion-1);              
HSSFCell cell=null;
if(row!=null){
cell=row.getCell(yLocation-1);
if(cell==null){
cell=row.createCell(yLocation-1);
}
}else{
row=s.createRow(xLocaion-1);
cell=row.createCell(yLocation-1);
}

cell.setCellValue(value);

}else{
wb=new HSSFWorkbook();
HSSFSheet s=wb.createSheet();
wb.setSheetName(0, sheetname);
HSSFRow row=s.createRow(xLocaion-1);
HSSFCell cell=row.createCell(yLocation-1);
cell.setCellValue(value);
}
FileOutputStream fos=new FileOutputStream(realPath); 
wb.write(fos);
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();

 
}

第二种就是运用了对象,以对象为单位写入数据,即一个对象的所有属性在一行列出,有多少个对象就有多少行,此方法比较适用于个人信息导出之类的应用,至于导出属性的顺序问题在导出对象的实体类内部改动下即可:
/**
*负责数据导入到EXCEL
*
* @param realPath
* EXCEL表格存放的绝对路径
* @param sheetname
*
* @param users
         *                              需要导出到excel表的对象数组
*/
public  void outputExcel(String realPath,String sheetname,UserModel[] users){
FileOutputStream fos;
try {
File file=new File(realPath);

fos = new FileOutputStream(file, true);
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet s=wb.createSheet();
wb.setSheetName(0, sheetname);
HSSFRow[] rows=new HSSFRow[users.length];
HSSFCell[][] cells=new HSSFCell[20][20];
for (int i=0; i<users.length;i++) { // 相当于excel表格中的总行数
PropertyDescriptor[] descriptors=getAvailablePropertyDescriptors(users[i]);
rows[i]=s.createRow(i);
for (int j=0; descriptors!=null&&j<descriptors.length;j++) {
java.lang.reflect.Method readMethod = descriptors[j]
.getReadMethod();
cells[i][j]=rows[i].createCell(j);
Object value=readMethod.invoke(users[i], null);
cells[i][j].setCellValue(value.toString());

}

}
wb.write(fos);
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}

}
分享到:
评论
1 楼 18335864773 2017-06-15  
还有一种生成excel的方法,就是用pageoffice插件生成excel。可以在线打开编辑保存excel,同时也可从数据库获取数据,动态填充Excel表格。利用pageoffice插件直接调用代码即可生成想要的excel,比poi生成excel生成excel简洁高效。

相关推荐

    java导出excel复合表头简单实例

    本资源提供的"java导出excel复合表头简单实例"是针对Java开发者的一个实用教程,特别是对于那些刚开始接触Java Excel导出功能的新手。这个实例将帮助你理解如何在Excel中创建并设置复杂的表头结构,使得数据的呈现...

    java导出到excel的工具类

    Apache POI提供了两种主要的API用于处理Excel文件:HSSF(用于旧版的.xls文件)和XSSF(用于.xlsx文件)。由于.xlsx格式是较新的且更具有灵活性,我们通常选择XSSF进行操作。 创建一个Excel导出工具类,首先需要...

    java导出excel的相关jar

    压缩包中的文件"java导出excel"很可能包含了使用这两种库的示例代码或教程资源,你可以通过解压并学习这些文件来深入理解如何在Java中实现数据到Excel的导出。记得在实际使用时,要根据项目需求选择合适的技术,并...

    java导出excel代码

    在这个场景中,我们将深入探讨如何使用Apache POI库来实现Java导出Excel的功能。 1. **Apache POI介绍** Apache POI 是一套开源的API,用于读写Microsoft Office格式的文件,如Excel、Word和PowerPoint。对于Excel...

    Java导出excel

    ### Java导出Excel知识点 #### 一、导出Excel的核心技术背景 在现代软件开发过程中,数据导出是一项常见的需求,尤其是将数据从数据库或内存中的数据结构导出到Excel文件,这为用户提供了便捷的数据查看与分析方式...

    java导出成Excel

    为了实现Java导出到Excel的功能,我们需要使用到`jxl`库。`jxl`是一个用于读写Excel文件的Java库,支持`.xls`格式。在实际项目中,需要将`jxl.jar`添加到项目的类路径中。 #### 三、代码解析 下面对给出的代码进行...

    java实现excel导入导出.pdf

    在 Java 中,实现 Excel 导入导出可以使用多种方式,本文将介绍使用 JXL 和 POI 两个库实现 Excel 导入导出的方法。 使用 JXL 库实现 Excel 导入导出 JXL(Java Excel API)是一个开源的 Java 库,用于读写 Excel ...

    Java在Excel中创建多级分组、折叠或展开分组的实现

    Java在Excel中创建多级分组、折叠或展开分组的实现方法主要有两种:方法一是通过sheet.groupByRows(int firstRow, int lastRow, boolean isCollapsed)设置行分组,通过sheet.groupByColumns(int firstColumn, int ...

    java导出Excel的jar包

    Java导出Excel是一种常见的数据处理任务,特别是在大数据分析、报表生成和数据交换中。为了实现这一功能,开发者通常会依赖第三方库,而jar包就是Java应用程序的可执行组件。在这个场景中,我们讨论的是一个专注于...

    使用EasyPOI导出Excel模板数据(含图片)博文源码

    首先,我们来看看`ExcelTemplateExportUtil.java`,这个类是导出工具的核心,它实现了将数据填充到Excel模板中的功能。EasyPOI通过读取Excel模板文件,然后根据模板中的占位符,用实际的数据进行替换,从而生成完整...

    java 实现Excel压缩成Zip导出.docx

    Java 实现 Excel 压缩成 Zip 导出 Java 是一种广泛使用的编程语言,具有强大的功能和灵活性。在 Web 项目中,经常需要将数据导出为 Excel 文件,以便用户可以轻松地查看和编辑数据。然而,当需要导出多个 Excel ...

    java导出数据至excel

    在Java编程中,导出数据到Excel是一种常见的需求,特别是在数据分析、报表生成或者数据交换的场景下。Excel作为Microsoft Office套件的一部分,以其强大的表格处理功能和良好的兼容性深受开发者喜爱。本文将深入探讨...

    java实现导出oarcle表结构到excel

    在Java编程环境中,将Oracle数据库的表结构导出到Excel是一种常见的需求,特别是在数据库管理和数据分析时。这个场景可以通过两个核心类来实现:`TableStructureToExcel.java`和`ConnectionOracle.java`。这两个类...

    Java导出Excel详细示例.pdf

    标题“Java导出Excel详细示例.pdf”表明,文档内容将围绕Java语言中的Excel文件操作进行详细说明。它将通过实例展示如何使用Java代码导出数据到Excel文件中,使用的是Apache POI库。文档中提到的“Java基础学习免费...

    Java POI 生成Excel时显示货币格式

    这可以通过创建`DataFormat`对象并调用`format(int formatIndex)`或`format(String formatString)`方法实现,其中`formatString`参数允许输入自定义的格式字符串,如“¥#,##0.00;[Red]¥(#,##0.00)”等。 通过掌握...

    java导出excel小实例

    ### Java导出Excel知识点详解 #### 一、Java Excel API简介 Java Excel API是一个...以上就是Java导出Excel相关知识点的详细介绍,希望能帮助到初学者快速上手并深入理解Java与Excel文件交互的基本原理和实现方式。

    java导出excel、xml

    这里我们将深入探讨如何使用Java来处理这两种格式。 1. **Java与Excel交互**: - **Apache POI库**:这是Java社区中最广泛使用的库,用于读写Microsoft Office格式的文件,包括Excel(.xlsx和.xls)。它提供了HSSF...

    Java Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类

    首先,我们需要理解XML和Excel两种文件格式的基本概念。 XML(Extensible Markup Language)是一种用于存储和传输数据的文本格式,它具有结构化的标签体系,方便数据的解析和读取。而Excel则是Microsoft Office中...

    POI导出Excel文件

    这个实例提供了两种方法来导出Excel文件:通过Servlet和通过main方法。这两种方法都是在Java环境中操作Excel数据的有效方式。 首先,让我们详细了解一下Apache POI库。POI提供了一个API,允许开发者在Java应用程序...

    java 将数据导出到Excel中

    在Java开发中,将数据导出到Excel是一种常见的需求,特别是在数据分析、报表生成或数据交换等场景下。Excel因其易用性和丰富的格式设置能力,成为处理结构化数据的理想选择。本篇文章将深入探讨如何利用Java实现这一...

Global site tag (gtag.js) - Google Analytics